public ActionResult SubpageSignup(int NodeID, int ActualPageID)
        {
            var model = new USNNewsletterFormViewModel();

            model.ActualPageID  = ActualPageID;
            model.CurrentNodeID = NodeID;

            return(PartialView("USNAdvancedPageComponents/USN_AC_SignupSubpageListingSection", model));
        }
        public ActionResult SubpageSignup(int NodeID, IPublishedContent globalSettings)
        {
            var model = new USNNewsletterFormViewModel();

            model.CurrentNodeID  = NodeID;
            model.GlobalSettings = globalSettings;

            return(PartialView("USNAdvancedPageComponents/USN_AC_SignupSubpageListingSection", model));
        }
        public ActionResult Index(int NodeID, int ActualPageID)
        {
            var model = new USNNewsletterFormViewModel();

            model.ActualPageID  = ActualPageID;
            model.CurrentNodeID = NodeID;

            return(PartialView("USNForms/USN_NewsletterSignup", model));
        }
Exemplo n.º 4
0
        public ActionResult TextSignup(int NodeID, int GlobalSettingsID)
        {
            var model = new USNNewsletterFormViewModel();

            model.CurrentNodeID    = NodeID;
            model.GlobalSettingsID = GlobalSettingsID;

            return(PartialView("USNAdvancedPageComponents/USN_AC_TextSignupSection", model));
        }
        public ActionResult Index(int nodeID, IPublishedContent globalSettings)
        {
            var model = new USNNewsletterFormViewModel();

            model.CurrentNodeID  = nodeID;
            model.GlobalSettings = globalSettings;

            return(PartialView("USNForms/USN_NewsletterSignup", model));
        }
Exemplo n.º 6
0
        public ActionResult Index(int NodeID, int GlobalSettingsID, string DataSize)
        {
            var model = new USNNewsletterFormViewModel();

            model.CurrentNodeID    = NodeID;
            model.GlobalSettingsID = GlobalSettingsID;
            model.CaptchaDataSize  = DataSize;

            return(PartialView("USNForms/USN_NewsletterSignup", model));
        }
Exemplo n.º 7
0
        public ActionResult TextSignup(int NodeID, int ActualPageID, string PageType)
        {
            var model = new USNNewsletterFormViewModel();

            model.CurrentNodeID = NodeID;
            model.ActualPageID  = ActualPageID;
            model.PageType      = PageType;

            return(PartialView("USNAdvancedPageComponents/USN_AC_TextSignupSection", model));
        }
Exemplo n.º 8
0
        public ActionResult HandleNewsletterSubmit(USNNewsletterFormViewModel model)
        {
            System.Threading.Thread.Sleep(1000);

            string lsReturnValue = "";

            var currentNode = Umbraco.TypedContent(model.CurrentNodeID);
            var currentPage = Umbraco.TypedContent(model.ActualPageID);

            IPublishedContent homeNode = currentPage.AncestorOrSelf(1);
            var settingsFolder         = Umbraco.TypedContent(homeNode.GetProperty("websiteConfigurationNode").Value);
            var globalSettings         = settingsFolder.Children.Where(x => x.DocumentTypeAlias == "USNGlobalSettings").First();

            if (!ModelState.IsValid)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p></div>');", model.CurrentNodeID, umbraco.library.GetDictionaryItem("USN Newsletter Form General Error"))));
            }
            try
            {
                AuthenticationDetails auth = new ApiKeyAuthenticationDetails(globalSettings.GetProperty("campaignMonitorAPIKey").Value.ToString());

                string subsciberListID = "";

                if (currentNode.GetProperty("campaignMonitorSubscriberListID").Value.ToString() != String.Empty)
                {
                    subsciberListID = currentNode.GetProperty("campaignMonitorSubscriberListID").Value.ToString();
                }
                else
                {
                    subsciberListID = globalSettings.GetProperty("defaultCampaignMonitorSubscriberListID").Value.ToString();
                }

                Subscriber loSubscriber = new Subscriber(auth, subsciberListID);

                List <SubscriberCustomField> customFields = new List <SubscriberCustomField>();

                string lsSubscriberID = loSubscriber.Add(model.Email, model.FirstName + " " + model.LastName, customFields, false);

                lsReturnValue = String.Format("<div class=\"page_component alert alert-success alert-dismissible fade in\" role=\"alert\"><div class=\"info\">{0}</div></div>", currentNode.GetProperty("submissionMessage").Value.ToString());
                return(Content(lsReturnValue));
            }
            catch (Exception ex)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p><p>{2}</p></div>');", model.CurrentNodeID, umbraco.library.GetDictionaryItem("USN Newsletter Form Signup Error"), ex.Message)));
            }
        }
Exemplo n.º 9
0
        public ActionResult Index(int GlobalSettingsID, string ViewPath, string DataSize, string FormColor, string FormButtonColor, USNHeading FormHeading,
                                  string FormSecondaryHeading, HtmlString FormIntroduction, string FormButtonText, string FormSubmissionMessage, string FormSubscriberListID, bool FormHideFields)
        {
            var  model = new USNNewsletterFormViewModel();
            Guid g     = Guid.NewGuid();

            model.UniqueID              = Guid.NewGuid().ToString();
            model.GlobalSettingsID      = GlobalSettingsID;
            model.CaptchaDataSize       = DataSize;
            model.FormColor             = FormColor;
            model.FormButtonColor       = FormButtonColor;
            model.FormHeading           = FormHeading;
            model.FormSecondaryHeading  = FormSecondaryHeading;
            model.FormIntroduction      = FormIntroduction;
            model.FormButtonText        = FormButtonText;
            model.FormSubmissionMessage = FormSubmissionMessage;
            model.FormSubscriberListID  = FormSubscriberListID;
            model.FormHideFields        = FormHideFields;

            return(PartialView(ViewPath + "/USNForms/USN_NewsletterSignup", model));
        }
        public async Task <ActionResult> HandleNewsletterSubmit(USNNewsletterFormViewModel model)
        {
            System.Threading.Thread.Sleep(1000);

            string lsReturnValue = "";

            var currentNode = Umbraco.TypedContent(model.CurrentNodeID);
            var currentPage = Umbraco.TypedContent(model.ActualPageID);

            IPublishedContent homeNode = currentPage.AncestorOrSelf(1);
            var settingsFolder         = Umbraco.TypedContent(homeNode.GetProperty("websiteConfigurationNode").Value);
            var globalSettings         = settingsFolder.Children.Where(x => x.DocumentTypeAlias == "USNGlobalSettings").First();

            if (!ModelState.IsValid)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p></div>');", model.CurrentNodeID, umbraco.library.GetDictionaryItem("USN Newsletter Form General Error"))));
            }
            try
            {
                if (globalSettings.GetProperty("emailMarketingPlatform").Value.ToString() == "Campaign Monitor")
                {
                    AuthenticationDetails auth = new ApiKeyAuthenticationDetails(globalSettings.GetProperty("newsletterAPIKey").Value.ToString());

                    string subsciberListID = String.Empty;

                    if (currentNode.GetProperty("newsletterSubscriberListID").Value.ToString() != String.Empty)
                    {
                        subsciberListID = currentNode.GetProperty("newsletterSubscriberListID").Value.ToString();
                    }
                    else
                    {
                        subsciberListID = globalSettings.GetProperty("defaultNewsletterSubscriberListID").Value.ToString();
                    }

                    Subscriber loSubscriber = new Subscriber(auth, subsciberListID);

                    List <SubscriberCustomField> customFields = new List <SubscriberCustomField>();

                    string subscriberID = loSubscriber.Add(model.Email, model.FirstName + " " + model.LastName, customFields, false);
                }
                else if (globalSettings.GetProperty("emailMarketingPlatform").Value.ToString() == "MailChimp")
                {
                    var mc = new MailChimpManager(globalSettings.GetProperty("newsletterAPIKey").Value.ToString());

                    string subsciberListID = String.Empty;

                    if (currentNode.GetProperty("newsletterSubscriberListID").Value.ToString() != String.Empty)
                    {
                        subsciberListID = currentNode.GetProperty("newsletterSubscriberListID").Value.ToString();
                    }
                    else
                    {
                        subsciberListID = globalSettings.GetProperty("defaultNewsletterSubscriberListID").Value.ToString();
                    }


                    var email = new EmailParameter()
                    {
                        Email = model.Email
                    };

                    var myMergeVars = new MergeVar();
                    myMergeVars.Add("FNAME", model.FirstName);
                    myMergeVars.Add("LNAME", model.LastName);

                    EmailParameter results = mc.Subscribe(subsciberListID, email, myMergeVars, "html", false, true, false, false);
                }

                lsReturnValue = String.Format("<div class=\"spc alert alert-success alert-dismissible fade in\" role=\"alert\"><div class=\"info\">{0}</div></div>", currentNode.GetProperty("submissionMessage").Value.ToString());
                return(Content(lsReturnValue));
            }
            catch (Exception ex)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p><p>{2}</p></div>');", model.CurrentNodeID, umbraco.library.GetDictionaryItem("USN Newsletter Form Signup Error"), ex.Message)));
            }
        }
Exemplo n.º 11
0
        public ActionResult HandleNewsletterSubmit(USNNewsletterFormViewModel model)
        {
            System.Threading.Thread.Sleep(1000);

            var globalSettings = Umbraco.Content(model.GlobalSettingsID);

            string recaptchaReset = globalSettings.HasValue("googleReCAPTCHASiteKey") && globalSettings.HasValue("googleReCAPTCHASecretKey") ? "grecaptcha.reset();" : String.Empty;

            string lsReturnValue = String.Empty;

            if (!ModelState.IsValid)
            {
                return(JavaScript(String.Format("{0}$('#NE_{1}').show();$('#NE_{1}').html('<div class=\"info\"><p>{2}</p></div>');", recaptchaReset, model.UniqueID, HttpUtility.JavaScriptStringEncode(Umbraco.GetDictionaryValue("USN Form Required Field Error")))));
            }
            try
            {
                if (globalSettings.HasValue("googleReCAPTCHASiteKey") && globalSettings.HasValue("googleReCAPTCHASecretKey"))
                {
                    var    response  = Request["g-recaptcha-response"];
                    string secretKey = globalSettings.Value <string>("googleReCAPTCHASecretKey");
                    var    client    = new WebClient();
                    var    result    = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
                    var    obj       = JObject.Parse(result);
                    var    status    = (bool)obj.SelectToken("success");

                    if (!status)
                    {
                        return(JavaScript(String.Format("{0}$('#NE_{1}').show();$('#NE_{1}').html('{2}');", recaptchaReset, model.UniqueID, HttpUtility.JavaScriptStringEncode(Umbraco.GetDictionaryValue("USN Form reCAPTCHA Error")))));
                    }
                }

                string firstName = model.FirstName == "***" ? String.Empty : model.FirstName;
                string lastName  = model.LastName == "***" ? String.Empty : model.LastName;

                if (globalSettings.Value <string>("emailMarketingPlatform") == "newsletterCM")
                {
                    AuthenticationDetails auth = new ApiKeyAuthenticationDetails(globalSettings.Value <string>("newsletterAPIKey"));

                    string subsciberListID = String.Empty;

                    if (model.FormSubscriberListID.HasValue())
                    {
                        subsciberListID = model.FormSubscriberListID;
                    }
                    else
                    {
                        subsciberListID = globalSettings.Value <string>("defaultNewsletterSubscriberListID");
                    }

                    Subscriber loSubscriber = new Subscriber(auth, subsciberListID);

                    List <SubscriberCustomField> customFields = new List <SubscriberCustomField>();

                    string subscriberID = loSubscriber.Add(model.Email, firstName + " " + lastName, customFields, false);
                }
                else if (globalSettings.Value <string>("emailMarketingPlatform") == "newsletterMC")
                {
                    var mc = new MailChimpManager(globalSettings.Value <string>("newsletterAPIKey"));

                    string subsciberListID = String.Empty;

                    if (model.FormSubscriberListID.HasValue())
                    {
                        subsciberListID = model.FormSubscriberListID;
                    }
                    else
                    {
                        subsciberListID = globalSettings.Value <string>("defaultNewsletterSubscriberListID");
                    }


                    var email = new EmailParameter()
                    {
                        Email = model.Email
                    };

                    var myMergeVars = new MergeVar();
                    myMergeVars.Add("FNAME", firstName);
                    myMergeVars.Add("LNAME", lastName);

                    EmailParameter results = mc.Subscribe(subsciberListID, email, myMergeVars, "html", false, true, false, false);
                }

                return(JavaScript(String.Format("$('#S_{0}').show();$('#Form_{0}').hide();", model.UniqueID)));
            }
            catch (Exception ex)
            {
                return(JavaScript(String.Format("{0}$('#NE_{1}').show();$('#NE_{1}').html('<div class=\"info\"><p>{2}</p><p>{3}</p></div>');", recaptchaReset, model.UniqueID, HttpUtility.JavaScriptStringEncode(Umbraco.GetDictionaryValue("USN Newsletter Form Signup Error")), HttpUtility.JavaScriptStringEncode(ex.Message))));
            }
        }
Exemplo n.º 12
0
        public ActionResult HandleNewsletterSubmit(USNNewsletterFormViewModel model)
        {
            System.Threading.Thread.Sleep(1000);

            string lsReturnValue = String.Empty;

            if (!ModelState.IsValid)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p></div>');", model.CurrentNodeID, HttpUtility.JavaScriptStringEncode(umbraco.library.GetDictionaryItem("USN Newsletter Form General Error")))));
            }
            try
            {
                var currentNode    = Umbraco.TypedContent(model.CurrentNodeID);
                var globalSettings = Umbraco.TypedContent(model.GlobalSettingsID);

                if (globalSettings.HasValue("googleReCAPTCHASiteKey") && globalSettings.HasValue("googleReCAPTCHASecretKey"))
                {
                    var    response  = Request["g-recaptcha-response"];
                    string secretKey = globalSettings.GetPropertyValue <string>("googleReCAPTCHASecretKey");
                    var    client    = new WebClient();
                    var    result    = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
                    var    obj       = JObject.Parse(result);
                    var    status    = (bool)obj.SelectToken("success");

                    if (!status)
                    {
                        return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('{1}');", model.CurrentNodeID, HttpUtility.JavaScriptStringEncode(umbraco.library.GetDictionaryItem("USN Form reCAPTCHA Error")))));
                    }
                }

                if (globalSettings.GetPropertyValue <USNOptions>("emailMarketingPlatform") == USNOptions.Newsletter_CM)
                {
                    AuthenticationDetails auth = new ApiKeyAuthenticationDetails(globalSettings.GetPropertyValue <string>("newsletterAPIKey"));

                    string subsciberListID = String.Empty;

                    if (currentNode.GetPropertyValue <string>("newsletterSubscriberListID") != String.Empty)
                    {
                        subsciberListID = currentNode.GetPropertyValue <string>("newsletterSubscriberListID");
                    }
                    else
                    {
                        subsciberListID = globalSettings.GetPropertyValue <string>("defaultNewsletterSubscriberListID");
                    }

                    Subscriber loSubscriber = new Subscriber(auth, subsciberListID);

                    List <SubscriberCustomField> customFields = new List <SubscriberCustomField>();

                    string subscriberID = loSubscriber.Add(model.Email, model.FirstName + " " + model.LastName, customFields, false);
                }
                else if (globalSettings.GetPropertyValue <USNOptions>("emailMarketingPlatform") == USNOptions.Newsletter_Mailchimp)
                {
                    var mc = new MailChimpManager(globalSettings.GetPropertyValue <string>("newsletterAPIKey"));

                    string subsciberListID = String.Empty;

                    if (currentNode.HasValue("newsletterSubscriberListID"))
                    {
                        subsciberListID = currentNode.GetPropertyValue <string>("newsletterSubscriberListID");
                    }
                    else
                    {
                        subsciberListID = globalSettings.GetPropertyValue <string>("defaultNewsletterSubscriberListID");
                    }


                    var email = new EmailParameter()
                    {
                        Email = model.Email
                    };

                    var myMergeVars = new MergeVar();
                    myMergeVars.Add("FNAME", model.FirstName);
                    myMergeVars.Add("LNAME", model.LastName);

                    EmailParameter results = mc.Subscribe(subsciberListID, email, myMergeVars, "html", false, true, false, false);
                }

                lsReturnValue = String.Format("<div class=\"spc alert alert-success alert-dismissible fade in\" role=\"alert\"><div class=\"info\">{0}</div></div>", currentNode.GetPropertyValue <string>("newsletterSubmissionMessage"));
                return(Content(lsReturnValue));
            }
            catch (Exception ex)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p><p>{2}</p></div>');", model.CurrentNodeID, HttpUtility.JavaScriptStringEncode(umbraco.library.GetDictionaryItem("USN Newsletter Form Signup Error")), HttpUtility.JavaScriptStringEncode(ex.Message))));
            }
        }
Exemplo n.º 13
0
        public ActionResult HandleNewsletterSubmit(USNNewsletterFormViewModel model)
        {
            System.Threading.Thread.Sleep(1000);

            string lsReturnValue = String.Empty;

            var currentNode    = Umbraco.TypedContent(model.CurrentNodeID);
            var globalSettings = Umbraco.TypedContent(model.GlobalSettingsID);

            if (!ModelState.IsValid)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p></div>');", model.CurrentNodeID, HttpUtility.JavaScriptStringEncode(umbraco.library.GetDictionaryItem("USN Newsletter Form General Error")))));
            }
            try
            {
                if (globalSettings.GetPropertyValue <string>("emailMarketingPlatform") == "Campaign Monitor")
                {
                    AuthenticationDetails auth = new ApiKeyAuthenticationDetails(globalSettings.GetPropertyValue <string>("newsletterAPIKey"));

                    string subsciberListID = String.Empty;

                    if (currentNode.GetPropertyValue <string>("newsletterSubscriberListID") != String.Empty)
                    {
                        subsciberListID = currentNode.GetPropertyValue <string>("newsletterSubscriberListID");
                    }
                    else
                    {
                        subsciberListID = globalSettings.GetPropertyValue <string>("defaultNewsletterSubscriberListID");
                    }

                    Subscriber loSubscriber = new Subscriber(auth, subsciberListID);

                    List <SubscriberCustomField> customFields = new List <SubscriberCustomField>();

                    string subscriberID = loSubscriber.Add(model.Email, model.FirstName + " " + model.LastName, customFields, false);
                }
                else if (globalSettings.GetPropertyValue <string>("emailMarketingPlatform") == "MailChimp")
                {
                    var mc = new MailChimpManager(globalSettings.GetPropertyValue <string>("newsletterAPIKey"));

                    string subsciberListID = String.Empty;

                    if (currentNode.HasValue("newsletterSubscriberListID"))
                    {
                        subsciberListID = currentNode.GetPropertyValue <string>("newsletterSubscriberListID");
                    }
                    else
                    {
                        subsciberListID = globalSettings.GetPropertyValue <string>("defaultNewsletterSubscriberListID");
                    }


                    var email = new EmailParameter()
                    {
                        Email = model.Email
                    };

                    var myMergeVars = new MergeVar();
                    myMergeVars.Add("FNAME", model.FirstName);
                    myMergeVars.Add("LNAME", model.LastName);

                    EmailParameter results = mc.Subscribe(subsciberListID, email, myMergeVars, "html", false, true, false, false);
                }

                lsReturnValue = String.Format("<div class=\"spc alert alert-success alert-dismissible fade in\" role=\"alert\"><div class=\"info\">{0}</div></div>", currentNode.GetPropertyValue <string>("submissionMessage"));
                return(Content(lsReturnValue));
            }
            catch (Exception ex)
            {
                return(JavaScript(String.Format("$(NewsletterError{0}).show();$(NewsletterError{0}).html('<div class=\"info\"><p>{1}</p><p>{2}</p></div>');", model.CurrentNodeID, HttpUtility.JavaScriptStringEncode(umbraco.library.GetDictionaryItem("USN Newsletter Form Signup Error")), HttpUtility.JavaScriptStringEncode(ex.Message))));
            }
        }