public void AuthorizeMob(System.Web.UI.Page oSoNetPage, string sExtendedPermissions, AppConfiguration oAppConfiguration) { try { StringBuilder _sbAuthorizeURL = new StringBuilder(); _sbAuthorizeURL.Append("http://m.facebook.com/dialog/oauth/?"); //'+ window.location + '&response_type=token _sbAuthorizeURL.Append("client_id=" + oAppConfiguration.AppID); //default permissions: user_location,user_work_history,friends_location,friends_work_history,publish_stream,offline_access _sbAuthorizeURL.Append("&scope=" + sExtendedPermissions); _sbAuthorizeURL.Append("&redirect_uri=" + NotifyURL + "MobileRedirect.aspx?app_id=" + oAppConfiguration.AppID); _sbAuthorizeURL.Append("&display=touch"); StringBuilder _sbAuthorizeResponse = new StringBuilder(); _sbAuthorizeResponse.Append("<script> "); _sbAuthorizeResponse.Append("if (parent != self) "); _sbAuthorizeResponse.Append("top.location.href = \"" + _sbAuthorizeURL.ToString() + "&v=1.0\"; "); _sbAuthorizeResponse.Append("else self.location.href = \"" + _sbAuthorizeURL.ToString() + "&v=1.0\"; "); _sbAuthorizeResponse.Append("</script>"); HttpContext.Current.Response.Write(_sbAuthorizeResponse.ToString()); HttpContext.Current.Response.End(); //HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { commUtil.SendErrorMail(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), ""); } }
public void Authorize(System.Web.UI.Page oSoNetPage, string sExtendedPermissions, AppConfiguration oAppConfiguration) { try { StringBuilder _sbAuthorizeURL = new StringBuilder(); _sbAuthorizeURL.Append("https://graph.facebook.com/oauth/authorize?"); _sbAuthorizeURL.Append("client_id=" + oAppConfiguration.AppID); //default permissions: user_location,user_work_history,friends_location,friends_work_history,publish_stream,offline_access _sbAuthorizeURL.Append("&scope=" + sExtendedPermissions); _sbAuthorizeURL.Append("&redirect_uri=" + HttpUtility.HtmlEncode(oAppConfiguration.AppPath)); StringBuilder _sbAuthorizeResponse = new StringBuilder(); _sbAuthorizeResponse.Append("<script> "); _sbAuthorizeResponse.Append("if (parent != self) "); _sbAuthorizeResponse.Append("top.location.href = \"" + _sbAuthorizeURL.ToString() + "&v=1.0\"; "); _sbAuthorizeResponse.Append("else self.location.href = \"" + _sbAuthorizeURL.ToString() + "&v=1.0\"; "); _sbAuthorizeResponse.Append("</script>"); HttpContext.Current.Response.Write(_sbAuthorizeResponse.ToString()); HttpContext.Current.Response.End(); } catch (Exception ex) { commUtil.SendErrorMail(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), ""); } }
protected override void OnPreLoad(EventArgs e) { try { base.OnPreLoad(e); FacebookBizProcess fbBiz = new FacebookBizProcess(); FaceBook oFBUtility = new FaceBook(); SonetPieBizProcess sonetpiebiz = new SonetPieBizProcess(); SonetPie sonetpie = new SonetPie(); NotifyURL = ConfigurationSettings.AppSettings["NotifyURL"]; pageRefreshed = false; if (QSVars.Contains("user_id")) { Session["facebook_user_id"] = QSVars["user_id"].ToString(); } if (QSVars.Contains("UDID")) { Session["sr_user_did"] = QSVars["UDID"].ToString(); } if (QSVars.Contains("PDID")) { Session["sr_product_did"] = QSVars["PDID"].ToString(); } if (Request.Url.Query.Contains("request") && !(Request.Url.Query.Contains("fb_source"))) //AppRequest callback, now save to notifiers { for (int i = 0; i < Request.QueryString.Count - 2; i++) { //every Request["to[i]"] has a userID for AppNotifier string fbUID = Request["to[" + i + "]"].ToString(); string _sNotifierDID = new AppNotifier().GetNewDIDWithPrefix(); string facebook_user_id = Convert.ToString(Session["facebook_user_id"]); string UDID = Convert.ToString(Session["sr_user_did"]); if (QSVars.Contains("NDID")) QSVars["NDID"] = _sNotifierDID; else QSVars.Add("NDID", _sNotifierDID); //Build DCAppWallPost for each user AppUser oDCAppUser = new AppUser(); string ConfigDID = fbBiz.GetConfigDEED(Convert.ToString(QSVars["app_id"])); if (!QSVars.Contains("ADID")) { QSVars.Add("ADID", ConfigDID); } if (!QSVars.Contains("PDID")) { QSVars.Add("PDID", Convert.ToString(Session["sr_product_did"])); } oDCAppUser = ofbBiz.GetAppUser(osonetpie, QSVars["ADID"].ToString(), facebook_user_id); _oDCAppWallPost.FromUserID = Convert.ToString(QSVars["user_id"]); _oDCAppWallPost.ToUserID = fbUID; _oDCAppWallPost.Name = ofbBiz.GetCustomTabName(QSVars["app_id"].ToString()); _oDCAppWallPost.Source = Convert.ToString(QSVars["user_id"]); AppLeadData oAppLead = new AppLeadData(); if (Request.Browser.IsMobileDevice == true || Request.UserAgent.ToLower().Contains("iphone") || Request.UserAgent.ToLower().Contains("android")) { if (fbBiz.RaiseAppNotifier(oDCAppUser, "MPOST", UDID, Convert.ToString(QSVars["PDID"]), "", fbUID)) { } } else { if (fbBiz.RaiseAppNotifier(oDCAppUser, "POST", UDID, Convert.ToString(QSVars["PDID"]), "", fbUID)) { } } } Page.ClientScript.RegisterStartupScript(this.GetType(), "myCloseScript", "window.close();", true); } if (Request["code"] == null) { if ((Request.QueryString.Count > 0) && !(Request["LIKED"] != null)) { //ParseRequest & set values to qsvars if (!(Request.QueryString).AllKeys[0].ToString().Contains("tabs_added")) { //REVISIT sonetpie.QSvarsString = GetQsVarsCollection(); sonetpie.FormvarsString = GetFormVarsCollection(); sonetpie.AbsolutePath = AbsolutePagePath; if (Request.Form.ToString() != string.Empty) { FormVars.Add("signed_request", Request.Form.Get(0).ToString()); } //Init Biz //SonetPieBizProcess sonetpiebiz = new SonetPieBizProcess(); if (QSVars.Contains("app_id")) { if (EnableAppServices) _oDCAppConfiguration = sonetpiebiz.GetAppConfiguration("", QSVars["app_id"].ToString()); SessionData.Config.DID = _oDCAppConfiguration.DID; //DigiMa.Common.FaceBook oFBUtility1 = new DigiMa.Common.FaceBook(); //check AppConfig got loaded if (AppConfig != null) { //Add CDID to Load customer if (QSVars.Contains("CDID")) QSVars["CDID"] = AppConfig.AppCustomerDID; else QSVars.Add("CDID", AppConfig.AppCustomerDID); //Add ADID to Load customer if (QSVars.Contains("ADID")) QSVars["ADID"] = AppConfig.DID; else QSVars.Add("ADID", AppConfig.DID); //Reset KOKO QSVars sonetpie.QSvarsString = GetQsVarsCollection(); _oDCAppCustomer = fbBiz.GetAppCustomer(Convert.ToString(QSVars["CDID"])); //ParseSigned Request if ((!QSVars.Contains("oauth_token"))) { oFBUtility.ParseSignedRequest(ref _qsVars, ref _frmVars, AppConfig); } if (QSVars.Contains("oauth_token")) { Session["oauth_token"] = Convert.ToString(QSVars["oauth_token"]); } if (QSVars.Contains("user_id")) { Session["user_id"] = Convert.ToString(QSVars["user_id"]); } //call graph to get page_Acc_tok if (QSVars.Contains("oauth_token") && (_oDCAppConfiguration.SAppCustomNameAdded == null || _oDCAppConfiguration.SAppCustomNameAdded == "")) { page_access_token = facebook.GetPageAccessToken(QSVars["oauth_token"].ToString()); System.Web.Script.Serialization.JavaScriptSerializer _oJavaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); JObject obj = JObject.Parse(page_access_token); IEnumerable<string> query = from res in (Newtonsoft.Json.Linq.JArray)obj["data"] let reso = res as JObject where ((string)reso["id"]).ToLower() == _oDCAppConfiguration.SPageID select (string)reso["access_token"]; //fetch the logo of this Campaign from AppProduct and pass to CallPages if (facebook.CallPages(_oDCAppConfiguration.SPageID, query.ToList()[0].ToString(), "app_" + QSVars["app_id"].ToString(), _oDCAppConfiguration.SCustomtTabName, fbBiz.FetchAppLogo(QSVars["app_id"].ToString()))) { //update custom_updated to Y fbBiz.UpdateCustomTabNAme(_oDCAppConfiguration.DID); ClientScript.RegisterStartupScript(this.GetType(), "scriptid", "window.parent.location.href='" + _oDCAppConfiguration.SAppPagePath + "'", true); } } //parse the JSON if (HasAuthorization) { if (!QSVars.Contains("oauth_token")) { //Set Authorization stamp on redirect url AppConfig.AppPath += "?soNETSrc="; if (QSVars.Contains("NDID")) AppConfig.AppPath += Convert.ToString(QSVars["NDID"]); else AppConfig.AppPath += "NULL"; //oFBUtility.GetAccessToken(QSVars["code"].ToString(), "user_location,email,friends_location,publish_stream",AppConfig.AppPath,AppConfig); // CHeck if Request is coming from Mobile device, then open Standalone if (Request.Browser.IsMobileDevice == true || Request.UserAgent.ToLower().Contains("iphone") || Request.UserAgent.ToLower().Contains("android")) { //oFBUtility.AuthorizeMob(this, "user_location,email,friends_location,user_birthday", AppConfig); } else { oFBUtility.Authorize(this, "user_location,email,friends_location,user_birthday", AppConfig); } } else { //Insert user into DB if (true) { //Call service to store into DB AppUser oDCAppUser = new AppUser(); oDCAppUser.AppConfigDID = AppConfig.DID; oDCAppUser.EmailID = "NULL"; oDCAppUser.SonetID = Convert.ToString(QSVars["user_id"]); oDCAppUser.SonetSRC = Convert.ToString(QSVars["soNETSrc"]); oDCAppUser.UserStatus = "Active"; oDCAppUser.SMType = "FB"; oDCAppUser = oFBUtility.GetUserDetail(Convert.ToString(QSVars["user_id"]), Convert.ToString(QSVars["oauth_token"]), oDCAppUser); //Save to DB if (!fbBiz.IsUserCreatedForFacebook(oDCAppUser.SonetID, oDCAppUser.AppConfigDID)) { if (fbBiz.SetAppUserAuthorize(oDCAppUser, Convert.ToString(QSVars["ADID"]))) _oDCAppUser = oDCAppUser; } } } } } //refrsh to get tab name //fbBiz.UpdateCustomTabNAme(_oDCAppConfiguration.DID); //ClientScript.RegisterStartupScript(this.GetType(), "scriptid", "window.parent.location.href='" + _oDCAppConfiguration.SAppPagePath + "'", true); //Load AppUser based on property if (_bEnableAppUser && _qsVars.Contains("user_id")) { sonetpie.QSvarsString = GetQsVarsCollection(); _oDCAppUser = fbBiz.GetAppUser(sonetpie, Convert.ToString(QSVars["ADID"]), Convert.ToString(QSVars["user_id"])); if (_oDCAppUser != null) { if (!_qsVars.Contains("UDID")) _qsVars.Add("UDID", _oDCAppUser.DID); else _qsVars["UDID"] = _oDCAppUser.DID; if (QSVars.Count < 8) { ClientScript.RegisterStartupScript(this.GetType(), "scriptid", "window.parent.location.href='" + _oDCAppConfiguration.SAppPagePath + "'", true);//To ensure all QSVARS are loaded from facebook } } } //Update Notifier count based on NDID or soNETSrc if (QSVars.Contains("soNETSrc") || QSVars.Contains("NDID")) { AppNotifier oAppNotifier = new AppNotifier(); if (QSVars.Contains("soNETSrc")) oAppNotifier.DID = Convert.ToString(QSVars["soNETSrc"]); if (QSVars.Contains("NDID")) oAppNotifier.DID = Convert.ToString(QSVars["NDID"]); if (!string.IsNullOrEmpty(oAppNotifier.DID)) fbBiz.EditAppNotifierDetails(oAppNotifier); } } } } else { // } } else { //Here redirect user to Page path if (QSVars.Contains("app_id") && QSVars.Contains("soNETSrc")) { //string pageToRedirect = fbBiz.GetAppPagePath(Convert.ToString(QSVars["app_id"])); //Response.Redirect(pageToRedirect,true); } } } catch (Exception ex) { CommonUtility commUtil = new CommonUtility(); commUtil.SendErrorMail(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), SessionData.Customer.CustomerID); } }
//DONE public AppConfiguration GetAvailableConfig(string CDID) { try { DatabaseHandler oDBH = new DatabaseHandler(); DataSet dsFinalHTML = new DataSet(); AppConfiguration _oAppConfig = new AppConfiguration(); dsFinalHTML = oDBH.FillData_SP("GetAvailableConfig"); if (dsFinalHTML.Tables.Count > 0) { if (dsFinalHTML.Tables[0].Rows.Count > 0) { _oAppConfig.AppCustomerDID = CDID; _oAppConfig.AppID = dsFinalHTML.Tables[0].Rows[0]["AppID"].ToString(); objCommon.SendErrorMail(Convert.ToString(_oAppConfig.AppID), "DALC", "", "", ""); _oAppConfig.AppKey = dsFinalHTML.Tables[0].Rows[0]["AppKey"].ToString(); _oAppConfig.AppSecretKey = dsFinalHTML.Tables[0].Rows[0]["AppSecretKey"].ToString(); _oAppConfig.AppPath = dsFinalHTML.Tables[0].Rows[0]["AppName"].ToString(); _oAppConfig.AppName = dsFinalHTML.Tables[0].Rows[0]["AppType"].ToString(); //_oAppConfig.DID = new AppConfiguration().GetNewDIDWithPrefix(); } //Now Update this row status to IA string sqlQueryUpdate = "update [AppConfigRefrence] set AppConfigStatus='IA' where RowID=" + dsFinalHTML.Tables[0].Rows[0]["RowID"].ToString(); if (oDBH.ExecuteNonQuery(sqlQueryUpdate) > 0) return _oAppConfig; else return _oAppConfig; } else { return null; } } catch (Exception ex) { CommonUtility commUtil = new CommonUtility(); commUtil.SendErrorMail(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), SessionData.Customer.CustomerID); } return null; }
public AppConfiguration GetAppConfiguration(string appName, string appID) { try { DatabaseHandler oDBH = new DatabaseHandler(); DataSet oAppConfDataSet = oDBH.FillData_SP("GetAppConfiguration", appName, appID); if (oAppConfDataSet.Tables.Count > 0) { AppConfiguration _oAppConfiguration = new AppConfiguration(); _oAppConfiguration.DID = oAppConfDataSet.Tables[0].Rows[0]["DID"].ToString(); _oAppConfiguration.AppCustomerDID = oAppConfDataSet.Tables[0].Rows[0]["AppCustomerDID"].ToString(); _oAppConfiguration.AppType = oAppConfDataSet.Tables[0].Rows[0]["AppType"].ToString(); _oAppConfiguration.AppID = oAppConfDataSet.Tables[0].Rows[0]["AppID"].ToString(); _oAppConfiguration.AppKey = oAppConfDataSet.Tables[0].Rows[0]["AppKey"].ToString(); _oAppConfiguration.AppSecretKey = oAppConfDataSet.Tables[0].Rows[0]["AppSecretKey"].ToString(); _oAppConfiguration.AppPath = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppPath"].ToString()); _oAppConfiguration.AppName = oAppConfDataSet.Tables[0].Rows[0]["AppName"].ToString(); _oAppConfiguration.AppLogo = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppLogo"].ToString()); _oAppConfiguration.AppHeader = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppHeader"].ToString()); _oAppConfiguration.AppFooter = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppFooter"].ToString()); _oAppConfiguration.AppExpiryPath = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppExpiryPath"].ToString()); _oAppConfiguration.AppExpiryDT = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppExpiryDT"].ToString()); _oAppConfiguration.SAppCustomNameAdded = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["CustomNameAdded"].ToString()); _oAppConfiguration.SAppPagePath = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppPagePath"].ToString()); _oAppConfiguration.SCustomtTabName = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["CustomTabName"].ToString()); _oAppConfiguration.SPageID = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppPageID"].ToString()); _oAppConfiguration.SAppStartDT = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["AppStartDT"].ToString()); _oAppConfiguration.STemplatePage = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["TemplatePage"].ToString()); _oAppConfiguration.SInquiryEmail = HttpUtility.HtmlDecode(oAppConfDataSet.Tables[0].Rows[0]["InquiryEmail"].ToString()); return _oAppConfiguration; } else { return null; } } catch (Exception ex) { //Log4NetUtility.ErrorDebug(this.GetType().FullName, "Error in GetConfigData(string _AppId)", ex); throw ex; } }
public bool UpdateConfigDetails(AppConfiguration oAppConfig, string ModelType, string CustTabName) { try { DatabaseHandler oDBH = new DatabaseHandler(); StringBuilder _sbQuery = new StringBuilder(); if (ModelType.Equals("SWEEPSTAKES")) { int i = oDBH.ExecuteNonQuery_SP("UpdateConfigDetails", oAppConfig.DID, oAppConfig.AppCustomerDID, "Facebook", oAppConfig.AppID, oAppConfig.AppKey, oAppConfig.AppSecretKey, oAppConfig.AppPath, oAppConfig.AppName, oAppConfig.AppLogo, "", "", oAppConfig.AppExpiryPath, oAppConfig.AppExpiryDT, "SWEEPSTAKES", CustTabName, oAppConfig.SAppStartDT, oAppConfig.SInquiryEmail, oAppConfig.STemplatePage); if (i < 0) return false; else return true; } else { int i = oDBH.ExecuteNonQuery_SP("UpdateConfigDetails", oAppConfig.DID, oAppConfig.AppCustomerDID, "Facebook", oAppConfig.AppID, oAppConfig.AppKey, oAppConfig.AppSecretKey, oAppConfig.AppPath, oAppConfig.AppName, oAppConfig.AppLogo, "", "", oAppConfig.AppExpiryPath, oAppConfig.AppExpiryDT, "PROMOTIONS", CustTabName, oAppConfig.SAppStartDT, oAppConfig.SInquiryEmail, oAppConfig.STemplatePage); if (i < 0) return false; else return true; } } catch (Exception ex) { //Log4NetUtility.ErrorDebug(this.GetType().FullName, "Error in GetConfigData(string _AppId)", ex); throw ex; } }
public bool UpdateAppConfigForFacebook(AppConfiguration oAppConfig) { try { DatabaseHandler oDBH = new DatabaseHandler(); StringBuilder oSBQuery = new StringBuilder(); //Already user is present update the record with status int i = oDBH.ExecuteNonQuery_SP("UpdateAppConfigForFacebook", oAppConfig.AppID, oAppConfig.AppKey, oAppConfig.AppSecretKey, oAppConfig.AppName, oAppConfig.AppPath); if (i < 0) return false; else return true; } catch (Exception ex) { //Log4NetUtility.ErrorDebug(this.GetType().FullName, "Error in GetConfigData(string _AppId)", ex); throw ex; } }
public bool SetNewConfigDetails(AppConfiguration oAppConfig, string CustTabName, string AppModel) { try { DatabaseHandler oDBH = new DatabaseHandler(); StringBuilder _sbQuery = new StringBuilder(); int i = oDBH.ExecuteNonQuery_SP("SetNewConfigDetails", oAppConfig.DID, oAppConfig.AppCustomerDID, "Facebook", oAppConfig.AppID, oAppConfig.AppKey, oAppConfig.AppSecretKey, oAppConfig.AppPath, oAppConfig.AppName, oAppConfig.AppLogo, "", "", oAppConfig.AppExpiryPath, oAppConfig.AppExpiryDT, System.DBNull.Value, CustTabName, oAppConfig.SAppStartDT, oAppConfig.SInquiryEmail, oAppConfig.STemplatePage, oAppConfig.SCampaignType, 'N', oAppConfig.SSiteID, oAppConfig.STemplateID); if (i < 0) return false; else return true; } catch (Exception ex) { throw ex; } }
public bool UpdateConfigDetails(AppConfiguration oAppConfig, string ModelType, string CustTabName) { try { return fbDALC.UpdateConfigDetails(oAppConfig, ModelType, CustTabName); } catch (Exception ex) { throw ex; } }
public bool UpdateAppConfigForFacebook(AppConfiguration oAppConfig) { try { return fbDALC.UpdateAppConfigForFacebook(oAppConfig); } catch (Exception ex) { throw ex; } }
public bool SetNewConfigDetails(AppConfiguration oAppConfig, string CustTabName, string AppModel) { try { return fbDALC.SetNewConfigDetails(oAppConfig, CustTabName, AppModel); } catch (Exception ex) { throw ex; } }
protected void btnPublish_Click(object sender, EventArgs e) { try { //SessionData.Config = new AppConfiguration(); if (SessionData.PrefData.TaskTwo1.Equals(MICROSITE)) { CopyToMicrosites(SessionData.UserAction.SiteID1, txtSubDomainName.Text.Trim()); } if (SessionData.PrefData.TaskTwo1.Equals(YOUTUBE)) { //ask for uploading video and save in Userfiles if (fileYoutubeVideo.HasFile) { string filename = fileYoutubeVideo.FileName; string path = Server.MapPath("./Youtube/" + SessionData.UserAction.SiteID1); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string strFinalFileName = Path.GetFileName(fileYoutubeVideo.FileName); long FileLength = fileYoutubeVideo.PostedFile.ContentLength; fileYoutubeVideo.PostedFile.SaveAs(path + "/" + filename); if (UploadToYoutube(filename)) { //Page.ClientScript.RegisterStartupScript(this.GetType(), "myCloseScript", "alert(\"Youtube video uploaded !\")", true); SessionData.UserAction.TaskComplete = YOUTUBE; } } } SessionData.Product = new AppProduct(); SessionData.Product.DID = GetNewDIDWithPrefix(); //Prepare file system directory to store Images string pathToCreate = "~/Images/" + SessionData.Product.DID; if (!Directory.Exists(Server.MapPath(pathToCreate))) { Directory.CreateDirectory(Server.MapPath(pathToCreate)); } //Fetch Template Data dsTemplateData = canv.GetTempData(Convert.ToInt32(templateID)); //REVISIT hdnTrmplateID.Value = templateID; hdnPDID.Value = SessionData.Product.DID; hdnfield.Value = CDID; if (!Directory.Exists(Server.MapPath(pathToCreate))) { Directory.CreateDirectory(Server.MapPath(pathToCreate)); } //Caption //if (!string.IsNullOrEmpty(txtHeaderText.Text)) //{ // SessionData.Product.AppCaption = txtHeaderText.Text; //} SessionData.Product.ProductCategory = WH_CREATED; //Start Date, Expiry Date FacebookBizProcess fbBiz = new FacebookBizProcess(); if (fbBiz.IsAppCreationAllowed(SessionData.Customer.CustomerID)) //check if user is allowed to create Promos etc under his current plan ***************************************************************** { SessionData.Config = new AppConfiguration(); AppConfiguration oAppAvaila = new AppConfiguration(); oAppAvaila = fbBiz.GetAvailableConfig(CDID); SessionData.Config = oAppAvaila; SessionData.Config.DID = GetNewDID("AN"); //Custom Tab Name if (!txtCustomTabNamePromoVid.Text.Trim().Equals(string.Empty)) { SessionData.Config.SCustomtTabName = txtCustomTabNamePromoVid.Text.Trim(); SessionData.UserAction.CustomTabName1 = txtCustomTabNamePromoVid.Text.Trim(); } SessionData.Config.STemplatePage = TEMPLATE_PAGE; } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "myCloseScript", "alert(\"You can only create 3 Campaigns with a TRIAL account !\")", true); } FaceBook ofacebook = new FaceBook(); AppUser oAppUser = new AppUser(); SessionData.Config.SSiteID = SiteID; SessionData.Config.STemplateID = SessionData.PrefData.TemplateID1; SessionData.Product.ProductLogo = "https://www.sonetreach.com/Images/" + SessionData.Product.DID + "/Logo" + SessionData.Product.ProductLogo; SessionData.Product.SProductContentImage = "Body" + hdnContent.Value; if (!(SessionData.Config == null)) { //Now fill up the Config and get Product data. SessionData.Config.SCampaignType = Video; if (fbBiz.SetNewConfigDetails(SessionData.Config, SessionData.Config.SCustomtTabName, Video)) { //Update expiry date fbBiz.UpdateConfigExpiryForWH(SessionData.Config.DID); ////********If user comes here we know we should set up a Product Info, So, create a row in AppProduct and assign these values to SessionData******** SessionData.Product.AppConfigDID = SessionData.Config.DID; SessionData.Product.ProductName = SessionData.Config.AppName; SessionData.Product.ProductHTML = ""; fbBiz.SetNewProductDetails(SessionData.Product); SessionData.Product = fbBiz.GetAppProductDetails(); } } else { //No configs allowed Page.ClientScript.RegisterStartupScript(this.GetType(), "myCloseScript", "alert(\"Config Not Available. Please Contact HELPDESK.\");", true); } if (SessionData.Config.SAppPageTabSelected == null) { StringBuilder oSBPageSElector = new StringBuilder(); oSBPageSElector.Append("window.open('http://www.facebook.com/dialog/permissions.request?app_id="); oSBPageSElector.Append(SessionData.Config.AppID + "&redirect_uri=" + ActiveURL + SessionData.Config.AppID + "&response_type=code&perms=user_birthday,user_location,email,manage_pages\','name','height=140,width=790,menubar=0,toolbar=0,statusbar=0,scrollbars=0,resizable=0');"); litLogin.Text = oSBPageSElector.ToString(); } } catch (Exception ex) { //commonUtil.SendErrorMail(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), SessionData.Customer.CustomerID); throw ex; } }
public void ParseSignedRequest(ref Hashtable QSVars, ref Hashtable FormVars, AppConfiguration oAppConfiguration) { //Check signed request qsvar if (FormVars.Contains("signed_request") || QSVars.Contains("signed_request")) { //Seperate Signature & Payload string _rawSignedRequest = string.Empty; _rawSignedRequest = Convert.ToString(FormVars["signed_request"]); string[] _signedRequest = _rawSignedRequest.Split(new string[] { "." }, StringSplitOptions.None); string _expectedSignature = Base64UrlDecode(_signedRequest[0]); string _payload = _signedRequest[1]; //Validate SingedRequest System.Security.Cryptography.HMACSHA256 oHMACSHA256 = new System.Security.Cryptography.HMACSHA256(Encoding.UTF8.GetBytes(oAppConfiguration.AppKey)); string hash = Convert.ToBase64String(oHMACSHA256.ComputeHash(Encoding.UTF8.GetBytes(_payload))); string hashDecoded = Base64UrlDecode(hash); if (true) //hashDecoded == _expectedSignature { //Return decoded payload params Dictionary<string, string> _oSignedRequestParams = DecodePayloadToParams(QSVars, _payload); //Set Auto Persist QSvars of facebook foreach (KeyValuePair<string, string> _oKeyValueItem in _oSignedRequestParams) { if (!QSVars.Contains(_oKeyValueItem.Key)) { QSVars.Add(_oKeyValueItem.Key, _oKeyValueItem.Value); } else { QSVars[_oKeyValueItem.Key] = _oKeyValueItem.Value; } } } else { //Return empty signed request params, Singnature is different //return new Dictionary<string, string>(); } } else { //Return empty signed request params no signed_request qsvar found //return new Dictionary<string, string>(); } }