protected void btnPublishClick(object sender, EventArgs e) { ezFixUpFacebookApp facebook = null; if (Global.GetSessionState()["facebook"] != null) { facebook = (ezFixUpFacebookApp)Global.GetSessionState()["facebook"]; } else if ((Global.GetSessionState()["facebookAccessToken"] != null) && (((String)Global.GetSessionState()["facebookAccessToken"]).Length > 0)) { facebook = new ezFixUpFacebookApp((String)Global.GetSessionState()["facebookAccessToken"]); } else if (Request.QueryString["access_token"] != null && Request.QueryString["access_token"].Length > 0) { facebook = new ezFixUpFacebookApp(Request.QueryString["access_token"]); } //foreach (ListItem li in cblFriends.Items) //{ // //if (li.Selected) // { // string uidStr = String.Format("/{0}", li.Value); // JsonObject fbUser = facebook.Api(uidStr) as JsonObject; // if (!fbUser.ContainsKey("email")) continue; // string email = (String)fbUser["email"]; // if (email.IsNullOrEmpty()) continue; // Email.Send(CurrentUserSession.Name, // CurrentUserSession.Email, // "Invitation to ezFixUp".Translate(), // "https://ezFixUp.com or https://www.facebook.com/ezFixUp", // true); // } //} }
public FacebookFriendsDataBackgroundWorkerClass(PageBase pageBase, HttpContext context, ezFixUpFacebookApp facebook, long id, string accessToken) { _pageBase = pageBase; _context = context; timestamps = new TimeMeasure(); _facebook = facebook; _id = id; _accessToken = accessToken; }
protected void Page_Load(object sender, EventArgs e) { if(CurrentUserSession != null && CurrentUserSession.IsAuthorized) { Response.Redirect(MatchmakerHelper.CurrentHomePage); //Server.Transfer(MatchmakerHelper.CurrentHomePage); } else if(Request.UrlReferrer != null) { String referer = Request.UrlReferrer.AbsoluteUri; if (referer.StartsWith("https://apps.facebook.com/ezFixUp_local/") || referer.StartsWith("https://apps.facebook.com/ezFixUp/") || referer.StartsWith("http://apps.facebook.com/ezFixUp_local/") || referer.StartsWith("http://apps.facebook.com/ezFixUp/") || referer.StartsWith("apps.facebook.com/ezFixUp_local/") || referer.StartsWith("apps.facebook.com/ezFixUp/")) { ezFixUpFacebookApp app; if((Request.QueryString["access_token"] != null) && (Request.QueryString["access_token"].Length > 0)) { Server.Transfer("LoginThroughFacebook.aspx?access_token" + Request.QueryString["access_token"]); } else { //Server.Transfer("LoginThroughFacebook.aspx?facebook=1"); app = new ezFixUpFacebookApp(); Dictionary<String, Object> p = new Dictionary<String, object>(); p["req_perms"] = ConfigurationManager.AppSettings["FacebookPermissions"]; p["next"] = Config.Urls.FacebookHome + "/LoginThroughFacebook.aspx"; p["canvas"] = 1; p["fbconnect"] = 0; Response.Write("<html>\n"); Response.Write("<head>\n"); Response.Write("<script type='text/javascript' src='https://connect.facebook.net/en_US/all.js'></script>\n"); Response.Write("</head>\n"); Response.Write("<body>\n"); Response.Write("<script type='text/javascript'>\n"); Response.Write("if (parent != self) \n"); Response.Write(" top.location.href = \"" + app.GetLoginUrl(p).ToString() + @"&v=1.0" + "\";\n"); //Response.Write(" top.location.href = \"" + app.GetLoginUrl(p).ToString() + "\";\n"); Response.Write("else\n"); Response.Write(" self.location.href = \"" + app.GetLoginUrl(p).ToString() + @"&v=1.0" + "\";\n"); //Response.Write(" self.location.href = \"" + app.GetLoginUrl(p).ToString() + "\";\n"); Response.Write("</script>\n"); Response.Write("</body>\n"); Response.Write("</html>\n"); } } } if(!Page.IsPostBack) { preparePage(); prepareRssLinks(); } loadComponents(); }
protected void Page_Load(object sender, EventArgs e) { divFacebook.Visible = Config.Misc.EnableFacebookIntegration; if (!Config.Misc.EnableFacebookIntegration) { Response.End(); return; } //btnInvite.Text = "Invite".Translate(); ezFixUpFacebookApp facebook = null; if (Global.GetSessionState()["facebook"] != null) { facebook = (ezFixUpFacebookApp)Global.GetSessionState()["facebook"]; } else if ((Global.GetSessionState()["facebookAccessToken"] != null) && (((String)Global.GetSessionState()["facebookAccessToken"]).Length > 0)) { facebook = new ezFixUpFacebookApp((String)Global.GetSessionState()["facebookAccessToken"]); } else if (Request.QueryString["access_token"] != null && Request.QueryString["access_token"].Length > 0) { facebook = new ezFixUpFacebookApp(Request.QueryString["access_token"]); } else { facebook = new ezFixUpFacebookApp(); } DataTable dtFriends = new DataTable("friends"); dtFriends.Columns.Add("Id", typeof (long)); dtFriends.Columns.Add("Name"); JsonObject fbUser = facebook.Api("/me") as JsonObject; long id = long.Parse((String)fbUser["id"]); if (id > 0) { divFacebookButton.Visible = false; } }
protected void Page_Load(object sender, EventArgs e) { divFacebook.Visible = Config.Misc.EnableFacebookIntegration; if (!Config.Misc.EnableFacebookIntegration) { Response.End(); return; } btnInvite.Text = "Invite".Translate(); ezFixUpFacebookApp facebook = null; if (Global.GetSessionState()["facebook"] != null) { facebook = (ezFixUpFacebookApp)Global.GetSessionState()["facebook"]; } else if ((Global.GetSessionState()["facebookAccessToken"] != null) && (((String)Global.GetSessionState()["facebookAccessToken"]).Length > 0)) { facebook = new ezFixUpFacebookApp((String)Global.GetSessionState()["facebookAccessToken"]); } else if (Request.QueryString["access_token"] != null && Request.QueryString["access_token"].Length > 0) { facebook = new ezFixUpFacebookApp(Request.QueryString["access_token"]); } else { facebook = new ezFixUpFacebookApp(); } DataTable dtFriends = new DataTable("friends"); dtFriends.Columns.Add("Id", typeof (long)); dtFriends.Columns.Add("Name"); JsonObject fbUser = facebook.Api("/me") as JsonObject; long id = long.Parse((String)fbUser["id"]); if (id > 0) { divFacebookButton.Visible = false; JsonObject friendsData = facebook.Api("/me/friends") as JsonObject; JsonArray friends = (JsonArray)(friendsData != null ? friendsData["data"] : null); foreach (JsonObject friend in friends) { long uid = long.Parse((string)friend["id"]); string name = (string) friend["name"]; dtFriends.Rows.Add(uid,name); } cblFriends.DataSource = dtFriends.DefaultView; cblFriends.DataTextField = "Name"; cblFriends.DataValueField = "Id"; cblFriends.DataBind(); } //if (!IsPostBack) //{ // var facebook = new FacebookApp(); // if (facebook.UserId > 0) // { // divFacebookButton.Visible = false; // divFacebookFriends.Visible = true; // } // else // { // divFacebookButton.Visible = true; // divFacebookFriends.Visible = false; // } //} }
protected void Page_Load(object sender, EventArgs e) { if (Request["un"] != null && Request["pass"] != null) { var username = Request["un"]; var password = Request["pass"]; var script = "var f = document.getElementById('login_form');" + "f.elements.namedItem('email').value = username;" + "f.elements.namedItem('pass').value = password; "; } if (!IsPostBack) { if (Config.Misc.EnableFacebookIntegration) { ezFixUpFacebookApp facebook = null; long id = 0; String accessToken = ""; string refererUrl = (Request.UrlReferrer != null) ? Request.UrlReferrer.PathAndQuery : null; string backUrl = Request.QueryString["back_url"] ?? "Home.aspx"; //((refererUrl.IsNotNullOrEmpty()) // ? refererUrl.Contains("back_url=") // ? refererUrl.Substring(refererUrl.IndexOf("back_url=") + 9) // : refererUrl.Substring(1) //: "Home.aspx"); if (backUrl.Contains("LoginThroughFacebook.aspx")) backUrl = "Home.aspx"; if ((Request.QueryString["access_token"] != null) && (Request.QueryString["access_token"].Length > 0)) { accessToken = Request.QueryString["access_token"]; facebook = new ezFixUpFacebookApp(accessToken); if (Request.QueryString["fbUserID"] == null || (!long.TryParse(Request.QueryString["fbUserID"], out id))) { JsonObject user = facebook.Api("/me") as JsonObject; id = long.Parse((String)user["id"]); } } else if ((FacebookHelper.CurrentSessionAccessToken.IsNotNullOrEmpty())) { accessToken = FacebookHelper.CurrentSessionAccessToken; facebook = new ezFixUpFacebookApp(accessToken); JsonObject user = facebook.Api("/me") as JsonObject; id = long.Parse((String)user["id"]); } else { facebook = new ezFixUpFacebookApp(); accessToken = facebook.AccessToken; id = facebook.UserId; } if (id == 0) { if (FacebookHelper.SessionConnectTriesElapsed > 0) { FacebookHelper.SessionConnectTriesElapsed--; Response.Write("<html>\n"); Response.Write("<body>\n"); Response.Write("<div id='fb-root'></div>\n"); Response.Write( "<script type='text/javascript' src='http://connect.facebook.net/en_US/all.js'></script>\n"); Response.Write("<script type='text/javascript'>\n"); Response.Write(" FB.init({appId: '" + FacebookHelper.ApiKey + "', status: true, oauth: true, cookie: true, xfbml: true });"); Response.Write(" FB.login(function(response) {\n"); Response.Write(" if (response.authResponse) {\n"); Response.Write(" if (response.authResponse.accessToken) {\n"); //Response.Write(" alert('please wait'); \n"); //Response.Write(" window.onload = window.setTimeout('Tick()', 5000); \n"); //Response.Write(" function Tick() {window.location='LoginThroughFacebook.aspx?access_token=' + response.authResponse.accessToken + " + "'&fbUserID=' + response.authResponse.userID; }\n"); Response.Write(" if (top.iframe_canvas) top.iframe_canvas.href='https://ezFixUp.com/LoginThroughFacebook.aspx?access_token=' + response.authResponse.accessToken + " + "'&fbUserID=' + response.authResponse.userID; \n"); Response.Write(" else window.location='LoginThroughFacebook.aspx?access_token=' + response.authResponse.accessToken + " + "'&fbUserID=' + response.authResponse.userID; \n"); Response.Write(" } else {\n"); Response.Write(" if (top.iframe_canvas) top.iframe_canvas.href='https://ezFixUp.com/Login.aspx?back_url=" + backUrl + "&facebook=0'\n"); Response.Write(" else window.location='https://ezFixUp.com/Login.aspx?back_url=" + backUrl + "&facebook=0'\n"); Response.Write(" }\n"); Response.Write(" } else {window.location='https://ezFixUp.com/Login.aspx?facebook=0'"); Response.Write(" }\n"); Response.Write(" }, {scope:'" + ConfigurationManager.AppSettings["FacebookPermissions"] + "'});\n"); Response.Write("</script>\n"); Response.Write("</body>\n"); Response.Write("</html>\n"); Response.Flush(); } else { //FacebookHelper.SessionConnectTriesElapsed = 3; Response.Redirect("~/Registration.aspx"); //TODO: should it be Login.aspx ? } } else { facebook.Session.UserId = id; TryLoginThroughFacebook(facebook, id, accessToken, backUrl); } } } }
private void PopulateUserDataUsingFacebook() { ezFixUpFacebookApp facebook = null; if (Global.GetSessionState()["facebook"] != null) { facebook = (ezFixUpFacebookApp)Global.GetSessionState()["facebook"]; } else if ((Global.GetSessionState()["facebookAccessToken"] != null) && (((String)Global.GetSessionState()["facebookAccessToken"]).Length > 0)) { facebook = new ezFixUpFacebookApp((String)Global.GetSessionState()["facebookAccessToken"]); } else if (Request.QueryString["access_token"] != null && Request.QueryString["access_token"].Length > 0) { facebook = new ezFixUpFacebookApp(Request.QueryString["access_token"]); } else { facebook = new ezFixUpFacebookApp(); } Facebook.JsonObject user; long id; if (facebook.AppSecret == null) { facebook.AppSecret = Properties.Settings.Default.Facebook_Secret_Key; } try { user = facebook.Api("/me") as Facebook.JsonObject; if (user != null && user["id"] != null && long.TryParse((String)user["id"], out id) && id > 0) { FacebookID = id; #region log on the user if she is already registered string[] usernames = Classes.User.FetchUsernamesByFacebookID(new[] { facebook.UserId }); if (usernames.Length > 0) { UserSession userSession; try { userSession = new UserSession(usernames[0]); Classes.User.AuthorizeByFacebookID(facebook.UserId); ((PageBase)Page).CurrentUserSession = userSession; MatchmakerHelper.CurrentUsername = userSession.Username; userSession.Authorize(Session.SessionID); } catch (NotFoundException) { goto populatedate; } catch (AccessDeniedException err) { IDictionary<string, object> parameters = new Dictionary<string, object>(); StatusPageMessage = err.Message; parameters["next"] = Config.Urls.Home + "/ShowStatus.aspx"; Response.Redirect(facebook.GetLogoutUrl(parameters).ToString()); return; } catch (SmsNotConfirmedException) { Response.Redirect("SmsConfirm.aspx?username="******"next"] = Config.Urls.Home + "/ShowStatus.aspx"; Response.Redirect(facebook.GetLogoutUrl(parameters).ToString()); return; } catch (Exception err) { IDictionary<string, object> parameters = new Dictionary<string, object>(); Global.Logger.LogWarning(err); StatusPageMessage = err.Message; parameters["next"] = Config.Urls.Home + "/ShowStatus.aspx"; Response.Redirect(facebook.GetLogoutUrl(parameters).ToString()); return; } CurrentUserSession = userSession; CurrentUserSession.LoggedInThroughFacebook = true; Response.Redirect("Home.aspx"); } #endregion populatedate: string fbImgUrl = FacebookHelper.GetProfilePictureSource(facebook, id); //ImageHandler.CreateFacebookImageUrl(id, ImageHandler.eFacebookImageType.Large); this.LastAsyncFileUploadLocation = fbImgUrl; var o = new FacebookHelper.FetchAndSaveSaveFacebookFriendImageClass(); o.FetchAndSaveFacebookImageBySource(fbImgUrl, id); JsonObject friends = facebook.Api("/me/friends") as JsonObject; if (friends != null) { JsonArray friendsArr = friends["data"] as JsonArray; FacebookFriendIDs = new long[friendsArr.Count]; for (int i = 0; i < friendsArr.Count(); i++) { long.TryParse((string)((JsonObject)friendsArr[i])["id"], out FacebookFriendIDs[i]); } } if (user != null) { DateTime birthday; if (DateTime.TryParse((String)user["birthday"], CultureInfo.InvariantCulture, DateTimeStyles.None, out birthday)) { datePicker1.SelectedDate = birthday; //txtDatePicker.Text = datePicker1.SelectedDate.ToShortDateString(); BirthdayPicker1.CurrentText = datePicker1.SelectedDate.ToShortDateString(); } Classes.User.eGender? gender = null; if (!String.IsNullOrEmpty((String)user["gender"])) { switch (((String)user["gender"]).ToLower(CultureInfo.InvariantCulture)) { case "male": gender = Classes.User.eGender.Male; break; case "female": gender = Classes.User.eGender.Female; break; } } if (gender.HasValue) { dropGender.SelectedValue = ((int)gender).ToString(); switch (gender) { case Classes.User.eGender.Male: dropInterestedIn.SelectedValue = ((int)Classes.User.eGender.Female).ToString(); break; case Classes.User.eGender.Female: dropInterestedIn.SelectedValue = ((int)Classes.User.eGender.Male).ToString(); break; } } if (user.ContainsKey("location")) { JsonObject location = (JsonObject)user["location"]; string locationName = null; if (location.ContainsKey("name")) { locationName = (string)location["name"]; } if (locationName.IsNotNullOrEmpty()) { string[] locationTokens = locationName.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); var fbCountry = locationTokens.Length > 2 ? locationTokens[2].Trim() : ""; var fbRegion = locationTokens.Length > 1 ? locationTokens[1].Trim() : ""; var fbCity = locationTokens.Length > 0 ? locationTokens[0].Trim() : ""; var allCountries = Config.Users.GetCountries(); var regions = new string[0]; var cities = new string[0]; foreach (var country in allCountries) { this.dropCountry.Items.Add(country); if (country.Contains(fbCountry)) { this.dropCountry.SelectedValue = country; } } if (this.dropCountry.SelectedIndex > 0) { regions = Config.Users.GetRegions(this.dropCountry.SelectedValue); foreach (var region in regions) { this.dropRegion.Items.Add(region); if (region.Contains(fbRegion)) { this.dropRegion.SelectedValue = region; } } if (this.dropRegion.SelectedIndex > 0) cities = Config.Users.GetCities(this.dropCountry.SelectedValue, this.dropRegion.SelectedValue); foreach (var city in cities) { this.dropCity.Items.Add(city); if (city.Contains(fbCity)) dropCity.SelectedValue = city; } } } } if (user.ContainsKey("big_pic") && !String.IsNullOrEmpty((String)user["pic_big"])) PrimaryPhotoURL = (String)user["pic_big"]; else PrimaryPhotoURL = String.Format("https://graph.facebook.com/{0}/picture?type={1}", id , Config.FacebookSettings.FacebookDefaultImageIsNormal ? ezFixUp.ImageHandler.eFacebookImageType.Normal.ToString().ToLower() : ezFixUp.ImageHandler.eFacebookImageType.Large.ToString().ToLower()); if (user.ContainsKey("email") && !String.IsNullOrEmpty((String)user["email"])) FacebookEmail = (String)user["email"]; txtEmail.Text = FacebookEmail; //var albums = facebookService.photos.getAlbums(user.uid).ToArray(); //albums[0]. txtName.Text = (String)user["name"]; txtUsername.Text = (String)user["username"]; IsFacebookVerified = false; if (user.ContainsKey("verified") && (user["verified"] is bool)) IsFacebookVerified = (bool)user["verified"]; //divCardSpace.Visible = false; //divMySpace.Visible = false; divFacebook.Visible = false; } } } catch (Exception e) { } }
public void SetFacebookApp(ezFixUpFacebookApp value) { if (!FacebookID.HasValue) return; if (Global.FacebookAppDic.Keys.Contains(FacebookID.Value)) Global.FacebookAppDic[FacebookID.Value] = value; else Global.FacebookAppDic.Add(FacebookID.Value, value); }
public void AddUpdateFacebookFriendsDataWorker(ezFixUpFacebookApp facebook, long id, string accessToken) { var clsWorker = new Classes.FacebookFriendsDataBackgroundWorkerClass(this, Context, facebook, id, accessToken); var bgDic = (Dictionary<string, ezFixUpBackgroundWorker>)Global.AppBackgroundWorkersDic; if (bgDic != null) { UpdateFacebookFriendsDataBackgroundWorker bgWorker = (UpdateFacebookFriendsDataBackgroundWorker) bgDic["ezFixUp.Classes.UpdateFacebookFriendsDataBackgroundWorker"]; if (bgWorker != null && facebook != null && CurrentUserSession.FacebookID.HasValue) { lock (UpdateFacebookFriendsDataBackgroundWorker.WorkersList) { UpdateFacebookFriendsDataBackgroundWorker.WorkersList.Add(clsWorker); CurrentUserSession.ToUpdateFacebookFriendsData = false; } } } }
public void TryLoginThroughFacebook(ezFixUpFacebookApp facebook, long id, string accessToken, string backUrl) { FacebookHelper.SessionFacebookApp = facebook; FacebookHelper.CurrentSessionAccessToken = accessToken; FacebookHelper.CurrentSessionUserID = id; FacebookHelper.IsCurrentSessionConnected = true; FacebookHelper.SessionConnectTriesElapsed = 0; SetCurrentUserSession(null); string[] usernames = null; UserSession userSession; try { usernames = Classes.User.AuthorizeByFacebookID(id); userSession = new UserSession(usernames[0]); ((PageBase)Page).CurrentUserSession = userSession; MatchmakerHelper.CurrentUsername = userSession.Username; userSession.Authorize(Session.SessionID); userSession.LoggedInThroughFacebook = true; //facebook.Session.UserId = id; userSession.SetFacebookApp(facebook); //Response.Redirect(backUrl.ToLower().Contains("loginthroughfacebook.aspx") ? "home.aspx" : backUrl); userSession.ToUpdateFacebookFriendsData = true; } catch (NotFoundException) { if (CurrentUserSession != null) { CurrentUserSession.FacebookID = id; CurrentUserSession.Update(); MatchmakerHelper.CurrentUsername = CurrentUserSession.Username; if (!CurrentUserSession.IsAuthorized) CurrentUserSession.Authorize(Session.SessionID); CurrentUserSession.LoggedInThroughFacebook = true; if (CurrentUserSession.FacebookID.HasValue && CurrentUserSession.FacebookID > 0) { var qry = "SELECT uid1, uid2 FROM friend " + " WHERE uid1 IN (SELECT uid2 FROM friend WHERE uid1=me()) " + " AND uid2 IN (SELECT uid2 FROM friend WHERE uid1=me())"; JsonArray mutualFriendsByQuery = FacebookHelper.GetFqlResult(qry); Global.GetSessionState(sessionId)["FacebookMutualFriends"] = mutualFriendsByQuery .Select(o => new MutualFriendItem { FriendID = long.Parse((string)((JsonObject)o)["uid1"]), MutualFriendID = long.Parse((string)((JsonObject)o)["uid2"]) }) .ToList(); FacebookHelper.AddFriends(CurrentUserSession, 0, HttpContext.Current, null); Response.Redirect(backUrl ?? MatchmakerHelper.CurrentHomePage); //Server.Transfer(backUrl ?? MatchmakerHelper.CurrentHomePage); } } else { Response.Redirect("Registration.aspx?facebook=1&back_url=" + backUrl); //Server.Transfer("Registration.aspx?facebook=1&back_url=" + backUrl); return; } } catch (AccessDeniedException err) { IDictionary<string, object> parameters = new Dictionary<string, object>(); StatusPageMessage = err.Message; parameters["next"] = "ShowStatus.aspx"; //Response.Redirect(facebook.GetLogoutUrl(parameters).ToString()); Response.Redirect("ShowStatus.aspx"); //Server.Transfer("ShowStatus.aspx"); return; } catch (SmsNotConfirmedException) { Response.Redirect("SmsConfirm.aspx?username="******"next"] = Config.Urls.Home + "/ShowStatus.aspx"; //Response.Redirect(facebook.GetLogoutUrl(parameters).ToString()); Response.Redirect("ShowStatus.aspx"); //Server.Transfer("ShowStatus.aspx"); return; } catch (Exception err) { IDictionary<string, object> parameters = new Dictionary<string, object>(); Global.Logger.LogWarning(err); StatusPageMessage = err.Message; parameters["next"] = Config.Urls.Home + "/ShowStatus.aspx"; Response.Redirect("ShowStatus.aspx"); //Server.Transfer("ShowStatus.aspx"); return; } //Response.Redirect(backUrl.ToLower().Contains("loginthroughfacebook.aspx") ? "default.aspx" : backUrl); Response.Redirect(MatchmakerHelper.CurrentHomePage); //Response.Redirect("ManageProfile.aspx"); //Server.Transfer("default.aspx", false); }