public ActionResult Index(FrontEndCmsPage page, FrontEndSubscriptionSignIn frontEndSubscriptionSignIn) { if (ModelState.IsValidOrRefresh()) { Subscription subscription = new Subscriptions().GetSubscriptionActiveByEmailAndPassword(frontEndSubscriptionSignIn.Email, frontEndSubscriptionSignIn.Password); if (subscription.IsNotNull()) { FrontEndSessions.CurrentSubscription = subscription; if (frontEndSubscriptionSignIn.ReturnUrl.IsNotEmptyOrWhiteSpace()) { //return Content("<script>window.location.href='" + frontEndSubscriptionSignIn.ReturnUrl + "';</script>"); return(ChildActionRedirect(frontEndSubscriptionSignIn.ReturnUrl)); } else { //return Content("<script>window.location.href='/" + page.LanguageCode + "';</script>"); return(ChildActionRedirect("~/" + page.LanguageCode + "/")); } } else { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_Subscription.SubscriptionEmailOrPasswordNotValid); } } return(View(frontEndSubscriptionSignIn)); }
public static IHtmlString GetMainMenu(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "nav") { string mainMenu = string.Empty; BuildMainMenu(new CmsPages().GetAllPages(), 1, null, ref mainMenu, string.Empty, className, model.LanguageCode); return(htmlHelper.Raw(mainMenu)); }
public ActionResult Index(FrontEndCmsPage page) { FrontEndSubscriptionProfile frontEndSubscriptionProfile = new FrontEndSubscriptionProfile(); Subscription subscription = new Subscriptions().GetSubscriptionByEmail(FrontEndSessions.CurrentSubscription.Email); if (subscription.IsNotNull()) { frontEndSubscriptionProfile.LanguageCode = page.LanguageCode; frontEndSubscriptionProfile.Email = subscription.Email; frontEndSubscriptionProfile.FirstName = subscription.FirstName; frontEndSubscriptionProfile.LastName = subscription.LastName; frontEndSubscriptionProfile.Birthdate = subscription.BirthDate.ToDateTimeString(); frontEndSubscriptionProfile.PhoneNumber = subscription.PhoneNumber; frontEndSubscriptionProfile.Address = subscription.Address; frontEndSubscriptionProfile.City = subscription.City; frontEndSubscriptionProfile.PostCode = subscription.PostCode; frontEndSubscriptionProfile.CountryCode = subscription.CountryCode; frontEndSubscriptionProfile.WantsNewsletter = subscription.WantsNewsletter; frontEndSubscriptionProfile.JoinDate = subscription.JoinDate.ToDateTimeString(); } else { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist); ViewData.IsFormVisible(false); } return(View(frontEndSubscriptionProfile)); }
public ActionResult Index(FrontEndCmsPage page, FrontEndSubscriptionPasswordReset frontEndSubscriptionPasswordReset) { ViewBag.IsPasswordResetKeyValid = true; if (ModelState.IsValidOrRefresh()) { Subscriptions subscriptions = new Subscriptions(); int? result = subscriptions.ResetPassword(frontEndSubscriptionPasswordReset.PasswordResetKey, frontEndSubscriptionPasswordReset.NewPassword); switch (result) { case 0: ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.PasswordSuccessfullyChanged); ViewData.IsFormVisible(false); break; case 2: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_Subscription.PasswordResetUrlNotValid); break; default: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError); break; } } return(View(frontEndSubscriptionPasswordReset)); }
public ActionResult Summary(FrontEndCmsPage page) { News news = new News(); NewsConfiguration newsConfiguration = new NewsConfigurations().GetNewsConfiguration(); FrontEndNews frontEndNews = new FrontEndNews() { LanguageCode = page.LanguageCode, NewsList = news .GetNews(page.LanguageCode, isActive: true, isCategoryActive: true) .OrderByDescending(i => i.NewsDate) .ToBootstrapPagedList(0, newsConfiguration.NumberOfNewsInSummary), FilterCategoryId = null, FilterNewsDate = null, NewsId = null, NewsDate = null, UserName = null, CategoryId = null, CategoryName = null, MainImageFilePath = null, NewsTitle = null, NewsContent = null }; return(View(frontEndNews)); }
public static IHtmlString GetSitemap(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "") { string sitemap = string.Empty; PagesLanguages backEndCmsPagesLanguages = new PagesLanguages(); BuildSitemap(new CmsPages().GetAllPages(), backEndCmsPagesLanguages, 1, null, ref sitemap, className, model.LanguageCode); return(htmlHelper.Raw(sitemap)); }
public static IHtmlString GetFooterMenu(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "nav nav-pills") { string footerMenu = string.Empty; List <CmsPage> pagesObj = new CmsPages().GetAllPages(); if (pagesObj != null) { pagesObj = (from page in pagesObj where page.ShowInBottomMenu && page.IsActive select page).ToList(); if (pagesObj != null && pagesObj.Count > 0) { footerMenu += "<ul class=\"" + className + "\">"; string url; GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); PagesLanguages backEndCmsPagesContent = new PagesLanguages(); PageLanguage backEndCmsPageLanguage; string pageTitle = string.Empty; foreach (CmsPage pageObj in pagesObj) { backEndCmsPageLanguage = backEndCmsPagesContent.GetPageLanguage(pageObj.PageId, model.LanguageCode); if (backEndCmsPageLanguage.IsNotNull() && backEndCmsPageLanguage.MenuName.IsNotEmptyOrWhiteSpace()) { pageTitle = backEndCmsPageLanguage.MenuName; } else { pageTitle = pageObj.PageName; } if (pageObj.PageTemplateId.IsNull()) { url = pageObj.Url; } else { url = "/"; if (!pageObj.IsHomePage || model.LanguageCode != globalConfiguration.DefaultLanguageCode) { if (pageObj.IsHomePage) { url += model.LanguageCode + "/"; } else { url += model.LanguageCode + "/" + pageObj.FullSegment + "/"; } } } footerMenu += "<li><a href=\"" + url + "\" target=\"" + pageObj.Target + "\" title=\"" + pageTitle + "\">" + pageTitle + "</a></li>"; } footerMenu += "</ul>"; } } return(htmlHelper.Raw(footerMenu)); }
public ActionResult Index(FrontEndCmsPage page) { FrontEndSubscriptionPasswordForgot frontEndSubscriptionPasswordForgot = new FrontEndSubscriptionPasswordForgot() { LanguageCode = page.LanguageCode }; return(View(frontEndSubscriptionPasswordForgot)); }
public ActionResult Index(FrontEndCmsPage page) { GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); FrontEndError error = new FrontEndError() { LanguageFolder = page.LanguageFolder, StatusCode = page.StatusCode.ConvertTo <int>(), ErroMessage = ("Error" + page.StatusCode.ConvertTo <int>().ToString()).GetStringFromResource() }; return(View(error)); }
public ActionResult Index(FrontEndCmsPage page, string k) { FrontEndSubscriptionRegister frontEndSubscriptionRegister = new FrontEndSubscriptionRegister() { LangugeCode = page.LanguageCode }; ViewBag.IsActivationPage = false; if (k.IsNotEmptyOrWhiteSpace()) { ViewBag.IsActivationPage = true; Subscriptions subscriptions = new Subscriptions(); int? result = subscriptions.ActivativateSubscription(k); switch (result) { case 0: Subscription subscription = subscriptions.GetSubscriptionByActivationKey(k); GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); CultureInfoHelper.ForceBackEndLanguage(); string subject = Resources.Strings_Subscription.EmailSubscriptionAddedSubject.Replace("{$Url}", globalConfiguration.DomainName.ToUrl()); string body = Resources.Strings_Subscription.EmailSubscriptionAddedBody .Replace("{$Url}", globalConfiguration.DomainName.ToUrl()) .Replace("{$subscriptionEmail}", subscription.Email) .Replace("{$ipAddress}", Request.UserHostAddress); CultureInfoHelper.RestoreFrontEndLanguage(); EmailHelper email = new EmailHelper(globalConfiguration.NotificationEmail, globalConfiguration.NotificationEmail, subject, body); email.Send(); ViewBag.ActivationResult = Resources.Strings_Subscription.ActivationKeySuccess; break; case 2: ViewBag.ActivationResult = Resources.Strings_Subscription.ActivationKeyInvalid; break; case 3: ViewBag.ActivationResult = Resources.Strings_Subscription.ActivationKeyAlreadyUsed; break; default: ViewBag.ActivationResult = Resources.Strings.UnexpectedError; break; } } return(View(frontEndSubscriptionRegister)); }
public static IHtmlString GetSubscriptionPanel(this HtmlHelper htmlHelper, FrontEndCmsPage model) { StringBuilder result = new StringBuilder(); SubscriptionConfiguration subscriptionConfiguration = new SubscriptionConfigurations().GetSubscriptionConfiguration(); if (subscriptionConfiguration.IsSubscriptionActive) { CmsPages cmsPages = new CmsPages(); result.AppendLine("<ul class=\"nav navbar-nav navbar-right navbar-underline-hover\">"); if (FrontEndSessions.CurrentSubscription.IsNull()) { if (subscriptionConfiguration.RegisterPageId.IsNotNull()) { CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.RegisterPageId, model.LanguageCode); result.AppendLine(" <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-check-square-o\"></i> " + cmsPageActionlink.Title + "</a></li>"); } if (subscriptionConfiguration.SignInPageId.IsNotNull()) { CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, model.LanguageCode); result.AppendLine(" <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-sign-in\"></i> " + cmsPageActionlink.Title + "</a></li>"); } } else { result.AppendLine(" <li class=\"dropdown\">"); result.AppendLine(" <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">" + FrontEndSessions.CurrentSubscription.FirstName + " <i class=\"fa fa-user\"></i> <b class=\"caret\"></b></a>"); result.AppendLine(" <ul class=\"dropdown-menu\">"); if (subscriptionConfiguration.ProfilePageId.IsNotNull()) { CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.ProfilePageId, model.LanguageCode); result.AppendLine(" <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-cog\"></i> " + cmsPageActionlink.Title + "</a></li>"); } if (subscriptionConfiguration.ChangePasswordPageId.IsNotNull()) { CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.ChangePasswordPageId, model.LanguageCode); result.AppendLine(" <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-lock\"></i> " + cmsPageActionlink.Title + "</a></li>"); } if (subscriptionConfiguration.SignInPageId.IsNotNull()) { CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, model.LanguageCode); result.AppendLine(" <li class=\"divider\"></li>"); result.AppendLine(" <li><a href=\"" + cmsPageActionlink.Url + "?a=sign-out\"><i class=\"fa fa-sign-out\"></i> " + Event304.Resources.Strings.SignOut + "</a></li>"); } result.AppendLine(" </ul>"); result.AppendLine(" </li>"); } result.AppendLine("</ul>"); } return(htmlHelper.Raw(result.ToString())); }
public ActionResult Index(FrontEndCmsPage page, FrontEndSubscriptionPasswordForgot frontEndSubscriptionPasswordForgot) { if (ModelState.IsValidOrRefresh()) { Subscriptions subscriptions = new Subscriptions(); Subscription subscription = subscriptions.GetSubscriptionByEmail(frontEndSubscriptionPasswordForgot.Email); if (subscription.IsNotNull()) { string PasswordResetKey = DateTime.Now.Ticks.ToBase36() + frontEndSubscriptionPasswordForgot.Email.EncodeBase64() + Session.SessionID; int?result = subscriptions.EditPasswordResetKey(frontEndSubscriptionPasswordForgot.Email, PasswordResetKey); switch (result) { case 0: GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); string subject = Resources.Strings_Subscription.EmailPwForgotSubject.Replace("{$SiteName}", globalConfiguration.SiteName); string body = Resources.Strings_Subscription.EmailPwForgotBody .Replace("{$FirstName}", subscription.FirstName) .Replace("{$SiteName}", globalConfiguration.SiteName) .Replace("{$PasswordResetUrl}", globalConfiguration.DomainName.ToUrl() + page.LanguageCode + "/reset-password?PasswordResetKey=" + PasswordResetKey) .Replace("{$Url}", globalConfiguration.DomainName.ToUrl()); EmailHelper email = new EmailHelper("subscription-pw-reset@" + globalConfiguration.DomainName, frontEndSubscriptionPasswordForgot.Email, subject, body); if (email.Send()) { ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.FormSuccessfullySubmitted); ViewData.IsFormVisible(false); } else { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError + " (Email)"); } break; case 2: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_Subscription.SubscriptionEmailNotValid); break; default: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError + " (Database)"); break; } } else { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_Subscription.SubscriptionEmailNotValid); } } return(View(frontEndSubscriptionPasswordForgot)); }
public string GetContent(HtmlHelper htmlHelper, FrontEndCmsPage model, string id) { string result = string.Empty; SharedContent sharedContent = new SharedContents().GetSharedContent(id, model.LanguageCode, true); if (sharedContent.IsNotNull()) { //include any extra modules, excluding {$Content} and other {$SharedContent-...} to avoid recursion string controllerAction; string[] controllerActionArray; bool isModuleFound; foreach (string sharedContentPart in ExtensionsHelper.GetHtmlCodeParts(sharedContent.HtmlCode)) { isModuleFound = false; foreach (IModuleConnector moduleConnector in ModuleConnectorsHelper.GetModuleConnectors()) { foreach (SelectListItem module in moduleConnector.GetSelectItemList()) { if (!sharedContentPart.StartsWith("{$SharedContent") && sharedContentPart.ToLower() == module.Value.ToLower()) { isModuleFound = true; controllerAction = sharedContentPart.Substring(2, sharedContentPart.Length - 3); controllerActionArray = controllerAction.Split('-'); result += moduleConnector.GetContent(htmlHelper, model, controllerActionArray[1]); } } } if (!isModuleFound) { if (sharedContentPart != "{$Content}" && !sharedContentPart.StartsWith("{$SharedContent") && sharedContentPart.StartsWith("{$") && sharedContentPart.EndsWith("}") && sharedContentPart.Contains('-')) { controllerAction = sharedContentPart.Substring(2, sharedContentPart.Length - 3); controllerActionArray = controllerAction.Split('-'); result += htmlHelper.Action(controllerActionArray[1], "FrontEnd" + controllerActionArray[0], model).ToString(); } else { result += sharedContentPart; } } } } return(result); }
public static IHtmlString GetBreadCrumbs(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "breadcrumb", string label = "", string separator = "/") { string breadCrumbs = string.Empty; CmsPages pages = new CmsPages(); PagesLanguages pagesLanguages = new PagesLanguages(); BuildBreadCrumbs(pages, pagesLanguages, ref breadCrumbs, model.PageId, model.LanguageCode, separator, false); if (breadCrumbs.IsNotEmptyOrWhiteSpace()) { if (label.IsNotEmptyOrWhiteSpace()) { label = "<span>" + label + "</span>"; } breadCrumbs = "<ul class=\"" + className + "\">" + breadCrumbs.Insert(breadCrumbs.IndexOf('>') + 1, label) + "</ul>"; } return(htmlHelper.Raw(breadCrumbs)); }
public ActionResult Index(FrontEndCmsPage page, FrontEndContact frontEndContact) { if (ModelState.IsValidOrRefresh()) { if (frontEndContact.Notes.IsEmpty()) //Honey pot to avoid spammers { GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); CultureInfoHelper.ForceBackEndLanguage(); string subject = Resources.Strings_Contact.EmailSubject.Replace("{$Url}", globalConfiguration.DomainName.ToUrl()); string body = Resources.Strings_Contact.EmailBody .Replace("{$fullName}", frontEndContact.FullName) .Replace("{$companyName}", frontEndContact.CompanyName) .Replace("{$phoneNumber}", frontEndContact.PhoneNumber) .Replace("{$email}", frontEndContact.Email) .Replace("{$message}", frontEndContact.Message) .Replace("{$ipAddress}", Request.UserHostAddress) .Replace("{$Url}", globalConfiguration.DomainName.ToUrl()); CultureInfoHelper.RestoreFrontEndLanguage(); EmailHelper email = new EmailHelper(globalConfiguration.NotificationEmail, globalConfiguration.NotificationEmail, subject, body); email.ReplyToList.Add(frontEndContact.Email); if (email.Send()) { ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings_Contact.Thanks); ViewData.IsFormVisible(false); } else { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError); } } else { ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings_Contact.Thanks); ViewData.IsFormVisible(false); } } return(View(frontEndContact)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { FrontEndCmsPage page = filterContext.ActionParameters["page"] as FrontEndCmsPage; if (page.IsNotNull()) { CmsPages cmsPages = new CmsPages(); if (FrontEndSessions.CurrentSubscription.IsNull()) { SubscriptionConfiguration subscriptionConfiguration = new SubscriptionConfigurations().GetSubscriptionConfiguration(); CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, page.LanguageCode); if (cmsPageActionlink.IsNotNull()) { filterContext.Result = new ChildActionRedirectResult(cmsPageActionlink.Url + "?ReturnUrl=" + HttpUtility.UrlEncode(filterContext.RequestContext.HttpContext.Request.Url.AbsoluteUri)); } } } }
public ActionResult Index(FrontEndCmsPage page, FrontEndSubscriptionProfile frontEndSubscriptionProfile) { if (ModelState.IsValidOrRefresh()) { Subscriptions subscriptions = new Subscriptions(); int? result = subscriptions.EditProfile(FrontEndSessions.CurrentSubscription.Email, frontEndSubscriptionProfile.FirstName, frontEndSubscriptionProfile.LastName, frontEndSubscriptionProfile.Birthdate.ToDateTime(), frontEndSubscriptionProfile.PhoneNumber, frontEndSubscriptionProfile.Address, frontEndSubscriptionProfile.City, frontEndSubscriptionProfile.PostCode, frontEndSubscriptionProfile.CountryCode, frontEndSubscriptionProfile.WantsNewsletter); switch (result) { case 0: FrontEndSessions.CurrentSubscription = subscriptions.GetSubscriptionByEmail(FrontEndSessions.CurrentSubscription.Email); ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings_Subscription.ProfileEditSuccess); ViewData.IsFormVisible(false); break; case 2: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist); ViewData.IsFormVisible(false); break; case 3: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.EmailAlreadyExists); break; default: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError); break; } } return(View(frontEndSubscriptionProfile)); }
public static IHtmlString GetLanguagePicker(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "") { StringBuilder result = new StringBuilder(); Languages languages = new Languages(); Language language = languages.GetLanguageByCode(model.LanguageCode); GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); result.AppendLine("<ul class=\"nav " + className + "\">"); result.AppendLine(" <li class=\"dropdown\">"); result.AppendLine(" <a class=\"dropdown-toggle\" data-toggle=\"dropdown\" href=\"#\"><i class=\"fa fa-flag\"></i> " + language.LanguageNameOriginal + " <i class=\"fa fa-caret-down\"></i></a>"); result.AppendLine(" <ul class=\"dropdown-menu dropdown-user\">"); foreach (Language l in languages.GetAllLanguages(isActive: true)) { result.AppendLine(" <li><a href=\"/" + (l.LanguageCode == globalConfiguration.DefaultLanguageCode ? "" : l.LanguageCode) + "\">" + l.LanguageNameOriginal + "</a></li>"); } result.AppendLine(" </ul>"); result.AppendLine(" </li>"); result.AppendLine("</ul>"); return(htmlHelper.Raw(result.ToString())); }
public ActionResult Index(FrontEndCmsPage page, string a, string ReturnUrl) { if (a.IfEmpty("").ToLower() == "sign-out") { FrontEndSessions.CurrentSubscription = null; //return Content("<script>window.location.href='/" + page.LanguageCode + "';</script>"); return(ChildActionRedirect("~/" + page.LanguageCode + "/")); } FrontEndSubscriptionSignIn frontEndSubscriptionSignIn = new FrontEndSubscriptionSignIn() { LanguageCode = page.LanguageCode }; if (ReturnUrl.IsNotEmptyOrWhiteSpace()) { frontEndSubscriptionSignIn.ReturnUrl = ReturnUrl; } return(View(frontEndSubscriptionSignIn)); }
public ActionResult Index(FrontEndCmsPage page, FrontEndSubscriptionPasswordChange frontEndSubscriptionPasswordChange) { if (ModelState.IsValidOrRefresh()) { Subscriptions subscriptions = new Subscriptions(); int? result = subscriptions.ChangePassword(FrontEndSessions.CurrentSubscription, frontEndSubscriptionPasswordChange.CurrentPassword, frontEndSubscriptionPasswordChange.NewPassword); switch (result) { case 0: //Refresh the CurrentSubscription FrontEndSessions.CurrentSubscription = subscriptions.GetSubscriptionByEmail(FrontEndSessions.CurrentSubscription.Email); ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.PasswordSuccessfullyChanged); ViewData.IsFormVisible(false); break; case 2: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist); ViewData.IsFormVisible(false); break; case 3: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.EmailAlreadyExists); break; case 4: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.CurrentPasswordNotValid); break; default: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError); break; } } return(View(frontEndSubscriptionPasswordChange)); }
public ActionResult Index(FrontEndCmsPage page, string PasswordResetKey) { FrontEndSubscriptionPasswordReset frontEndSubscriptionPasswordReset = new FrontEndSubscriptionPasswordReset() { LanguageCode = page.LanguageCode }; if (PasswordResetKey.IsNotEmptyOrWhiteSpace()) { if (!(new Subscriptions().IsPasswordResetKeyValid(PasswordResetKey))) { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_Subscription.PasswordResetUrlNotValid); ViewData.IsFormVisible(false); } frontEndSubscriptionPasswordReset.PasswordResetKey = PasswordResetKey; } else { ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_Subscription.PasswordResetUrlNotValid); ViewData.IsFormVisible(false); } return(View(frontEndSubscriptionPasswordReset)); }
public ActionResult Index(string languageCode, string segments) { GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); if (!globalConfiguration.IsOffline || Request["OfflineCode"] == globalConfiguration.OfflineCode || Session["OfflineCode"].ConvertTo <string>(null, true) == globalConfiguration.OfflineCode) { if (Session["OfflineCode"].IsNull()) { Session["OfflineCode"] = Request["OfflineCode"]; } FrontEndCmsPage page = new FrontEndCmsPage() { PageId = null, LanguageCode = globalConfiguration.DefaultLanguageCode, LanguageFolder = "", Parameter = string.Empty, MetaTagTitle = globalConfiguration.MetaTitle, MetaTagKeywords = globalConfiguration.MetaKeywords, MetaTagDescription = globalConfiguration.MetaDescription, Robots = globalConfiguration.Robots, PageTemplateId = null, StatusCode = null }; CmsPages cmsPages = new CmsPages(); CmsPage cmsPage = cmsPages.GetHomePage(); bool isHomePageDefined = cmsPage.IsNotNull(); if (segments.IsNotEmptyOrWhiteSpace()) { segments = segments.TrimEnd('/'); cmsPage = cmsPages.GetPageBySegments(segments); if (cmsPage.IsNull() && segments.Contains('/')) { cmsPage = cmsPages.GetPageBySegments(segments.Remove(segments.LastIndexOf('/'))); page.Parameter = segments.Substring(segments.LastIndexOf('/') + 1); //the parameter can be a dash separated list of parameters. E.g. 2-today_the_weather_is_nice } } Language language = new Languages().GetLanguageByCode(languageCode); if ( cmsPage.IsNotNull() && //The page exists (cmsPage.IsActive || (Request["preview"] == "true" && BackEndSessions.CurrentUser.IsNotNull())) && //The page is active or the page is in preview mode with a user logged in the admin area language.IsNotNull() && //The language exists language.IsActive //The language is active ) { if (cmsPage.IsAccessRestricted && FrontEndSessions.CurrentSubscription.IsNull()) { SubscriptionConfiguration subscriptionConfiguration = new SubscriptionConfigurations().GetSubscriptionConfiguration(); CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, language.LanguageCode); if (cmsPageActionlink.IsNotNull()) { return(Redirect(cmsPageActionlink.Url + "?ReturnUrl=" + HttpUtility.UrlEncode(Request.Url.AbsoluteUri))); } } page.PageId = cmsPage.PageId; page.LanguageCode = language.LanguageCode; page.LanguageFolder = language.LanguageCode == globalConfiguration.DefaultLanguageCode ? "" : language.LanguageCode; page.PageTemplateId = cmsPage.PageTemplateId; PageLanguage pageLanguage = new PagesLanguages().GetPageLanguage(cmsPage.PageId, language.LanguageCode); if (pageLanguage.IsNotNull()) { if (pageLanguage.MetaTagTitle.IsNotEmptyOrWhiteSpace()) { page.MetaTagTitle = pageLanguage.MetaTagTitle.ReplaceGlobalTokens(); } if (pageLanguage.MetaTagKeywords.IsNotEmptyOrWhiteSpace()) { page.MetaTagKeywords = pageLanguage.MetaTagKeywords.ReplaceGlobalTokens(); } if (pageLanguage.MetaTagDescription.IsNotEmptyOrWhiteSpace()) { page.MetaTagDescription = pageLanguage.MetaTagDescription.ReplaceGlobalTokens(); } if (pageLanguage.Robots.IsNotEmptyOrWhiteSpace()) { page.Robots = pageLanguage.Robots; } } } else { if (language.IsNotNull()) { page.LanguageCode = language.LanguageCode; page.LanguageFolder = language.LanguageCode == globalConfiguration.DefaultLanguageCode ? "" : language.LanguageCode; } page.PageTemplateId = globalConfiguration.DefaultErrorPageTemplateId; if (isHomePageDefined) { page.StatusCode = 404; } else { page.StatusCode = 501; //Home page not defined in the database table tb_cms_pages } } Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture((language.IsNotNull() && language.IsActive) ? language.LanguageCode : page.LanguageCode); return(View(page)); } else { return(Redirect("~/_app_offline.htm")); } }
public ActionResult Index(FrontEndCmsPage page, FrontEndSubscriptionRegister frontEndSubscriptionRegister) { ViewBag.IsActivationPage = false; if (ModelState.IsValidOrRefresh()) { if (frontEndSubscriptionRegister.Notes.IsEmpty()) //Honey pot to avoid spammers { GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); //Add the subscription to the database and generate the {$VerificationUrl} string ActivationKey = DateTime.Now.Ticks.ToBase36() + Session.SessionID; Subscriptions subscriptions = new Subscriptions(); int? result = subscriptions.Add(frontEndSubscriptionRegister.Email, frontEndSubscriptionRegister.Password, frontEndSubscriptionRegister.FirstName, frontEndSubscriptionRegister.LastName, frontEndSubscriptionRegister.Birthdate.ToDateTime(), frontEndSubscriptionRegister.PhoneNumber, frontEndSubscriptionRegister.Address, frontEndSubscriptionRegister.City, frontEndSubscriptionRegister.PostCode, frontEndSubscriptionRegister.CountryCode, 1, //Not verified frontEndSubscriptionRegister.WantsNewsletter, DateTime.Now, Request.UserHostAddress, ActivationKey, null); switch (result) { case 0: //Send the email to the subscriber to confirm his identity string subject = Resources.Strings_Subscription.EmailVerifyAccountSubject.Replace("{$SiteName}", globalConfiguration.SiteName); string body = Resources.Strings_Subscription.EmailVerifyAccountBody .Replace("{$FirstName}", frontEndSubscriptionRegister.FirstName) .Replace("{$SiteName}", globalConfiguration.SiteName) .Replace("{$VerificationUrl}", globalConfiguration.DomainName.ToUrl() + page.LanguageCode + "/register?k=" + ActivationKey) .Replace("{$Url}", globalConfiguration.DomainName.ToUrl()); EmailHelper email = new EmailHelper("subscription-activation@" + globalConfiguration.DomainName, frontEndSubscriptionRegister.Email, subject, body); if (email.Send()) { ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings_Subscription.Thanks); ViewData.IsFormVisible(false); } else { subscriptions.Delete(frontEndSubscriptionRegister.Email); ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError + " (Email)"); } break; case 2: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.EmailAlreadyExists); break; default: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError + " (Database)"); break; } } else { ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings_Subscription.Thanks); ViewData.IsFormVisible(false); } } return(View(frontEndSubscriptionRegister)); }
public ActionResult Index(FrontEndCmsPage page) { return(View(page)); }
public static IHtmlString GetPageContent(this HtmlHelper htmlHelper, FrontEndCmsPage model) { string result = string.Empty; PageLanguage backEndCmsPageLanguage = new PagesLanguages().GetPageLanguage(model.PageId, model.LanguageCode); string controllerAction; string[] controllerActionArray; if (model.PageTemplateId.IsNotNull()) { PageTemplate pageTemplate = new PageTemplates().GetPageTemplateById(model.PageTemplateId); IEnumerable <IModuleConnector> moduleConnectors = ModuleConnectorsHelper.GetModuleConnectors(); bool isModuleFound; foreach (string templatePart in ExtensionsHelper.GetHtmlCodeParts(pageTemplate.HtmlCode)) { isModuleFound = false; foreach (IModuleConnector moduleConnector in moduleConnectors) { foreach (SelectListItem module in moduleConnector.GetSelectItemList()) { if (templatePart.ToLower() == module.Value.ToLower()) { isModuleFound = true; controllerAction = templatePart.Substring(2, templatePart.Length - 3); controllerActionArray = controllerAction.Split('-'); result += moduleConnector.GetContent(htmlHelper, model, controllerActionArray[1]); } } } if (!isModuleFound) { if (templatePart == "{$Content}") { if (backEndCmsPageLanguage.IsNotNull()) { //include any extra modules foreach (string pageLanguagePart in ExtensionsHelper.GetHtmlCodeParts(backEndCmsPageLanguage.HtmlCode)) { isModuleFound = false; foreach (IModuleConnector moduleConnector in moduleConnectors) { foreach (SelectListItem module in moduleConnector.GetSelectItemList()) { if (pageLanguagePart.ToLower() == module.Value.ToLower()) { isModuleFound = true; controllerAction = pageLanguagePart.Substring(2, pageLanguagePart.Length - 3); controllerActionArray = controllerAction.Split('-'); result += moduleConnector.GetContent(htmlHelper, model, controllerActionArray[1]); } } } if (!isModuleFound) { if (pageLanguagePart.StartsWith("{$") && pageLanguagePart.EndsWith("}") && pageLanguagePart.Contains('-')) { controllerAction = pageLanguagePart.Substring(2, pageLanguagePart.Length - 3); controllerActionArray = controllerAction.Split('-'); try { result += htmlHelper.Action(controllerActionArray[1], "FrontEnd" + controllerActionArray[0], model).ToString(); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); } } else { result += pageLanguagePart; } } } } } else if (templatePart.StartsWith("{$") && templatePart.EndsWith("}") && templatePart.Contains('-')) { controllerAction = templatePart.Substring(2, templatePart.Length - 3); controllerActionArray = controllerAction.Split('-'); result += htmlHelper.Action(controllerActionArray[1], "FrontEnd" + controllerActionArray[0], model).ToString(); } else { result += templatePart; } } } } return(htmlHelper.Raw(result.ReplaceGlobalTokens())); }
public ActionResult Index(FrontEndCmsPage page, FrontEndNews frontEndNews) { News news = new News(); if (page.Parameter.IsNotEmptyOrWhiteSpace()) { SingleNews singleNews = news.GetSingleNews(page.Parameter.Split('-').FirstOrDefault().ConvertTo <int?>(null, true), page.LanguageCode); if (singleNews.IsNotNull()) { NewsComments newsComments = new NewsComments(); frontEndNews.LanguageCode = page.LanguageCode; frontEndNews.NewsList = null; frontEndNews.FilterCategoryId = null; frontEndNews.FilterNewsDate = null; frontEndNews.NewsId = singleNews.NewsId; frontEndNews.NewsDate = singleNews.NewsDate; frontEndNews.UserName = singleNews.UserName; frontEndNews.CategoryId = singleNews.CategoryId; frontEndNews.CategoryName = singleNews.CategoryName; frontEndNews.MainImageFilePath = singleNews.MainImageFilePath; frontEndNews.NewsTitle = singleNews.NewsTitle; frontEndNews.NewsContent = singleNews.NewsContent; frontEndNews.NewsCommentList = (newsComments.IsNotNull() ? newsComments.GetNewsComments(singleNews.NewsId, true) : null); } else { frontEndNews = null; } } if (ModelState.IsValidOrRefresh() && frontEndNews.IsNotNull()) { NewsConfiguration newsConfiguration = new NewsConfigurations().GetNewsConfiguration(); NewsComments newsComments = new NewsComments(); int? result = newsComments.Add((int)frontEndNews.NewsId, newsConfiguration.IsCommentAutoApproved, frontEndNews.NewsComment, DateTime.Now, FrontEndSessions.CurrentSubscription.Email); switch (result) { case 0: ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings_News.CommentAdded); ViewData.IsFormVisible(false); GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration(); CultureInfoHelper.ForceBackEndLanguage(); string subject = Resources.Strings_News.EmailSubject.Replace("{$Url}", globalConfiguration.DomainName.ToUrl()); string body = Resources.Strings_News.EmailBody .Replace("{$Url}", globalConfiguration.DomainName.ToUrl()) .Replace("{$subscriptionEmail}", FrontEndSessions.CurrentSubscription.Email) .Replace("{$comment}", frontEndNews.NewsComment) .Replace("{$ipAddress}", Request.UserHostAddress); CultureInfoHelper.RestoreFrontEndLanguage(); EmailHelper email = new EmailHelper(globalConfiguration.NotificationEmail, globalConfiguration.NotificationEmail, subject, body); email.Send(); break; default: ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError + " (Database)"); break; } } return(View(frontEndNews)); }
public ActionResult Index(FrontEndCmsPage page, int?p, string c, string d) { News news = new News(); FrontEndNews frontEndNews; if (page.Parameter.IsEmptyOrWhiteSpace()) { int? filterCategoryId = c.ConvertTo <int?>(null, true); string filterNewsDate = d; List <SingleNews> newsList = news.GetNews( page.LanguageCode, isActive: true, isCategoryActive: true, categoryId: filterCategoryId, newsDate: (filterNewsDate.IsNotEmptyOrWhiteSpace() ? ("1-" + d).ConvertTo <DateTime?>(null, true) : null) ).OrderByDescending(i => i.NewsDate).ToList(); if (newsList.IsNotNull()) { frontEndNews = new FrontEndNews() { LanguageCode = page.LanguageCode, NewsList = newsList.ToBootstrapPagedList(p, 5), FilterCategoryId = filterCategoryId, FilterNewsDate = filterNewsDate, NewsId = null, NewsDate = null, UserName = null, CategoryId = null, CategoryName = null, MainImageFilePath = null, NewsTitle = null, NewsContent = null }; } else { frontEndNews = new FrontEndNews(); } } else { if (page.Parameter.ToLower() == "rss") { Server.TransferRequest("~/OutputNews/Rss/?langCode=" + page.LanguageCode); return(null); } else if (page.Parameter.ToLower() == "atom10") { Server.TransferRequest("~/OutputNews/Atom10/?langCode=" + page.LanguageCode); return(null); } else { SingleNews singleNews = news.GetSingleNews(page.Parameter.Split('-').FirstOrDefault().ConvertTo <int?>(null, true), page.LanguageCode); if (singleNews.IsNotNull()) { NewsComments newsComments = new NewsComments(); frontEndNews = new FrontEndNews() { LanguageCode = page.LanguageCode, NewsList = null, FilterCategoryId = null, FilterNewsDate = null, NewsId = singleNews.NewsId, NewsDate = singleNews.NewsDate, UserName = singleNews.UserName, CategoryId = singleNews.CategoryId, CategoryName = singleNews.CategoryName, MainImageFilePath = singleNews.MainImageFilePath, NewsTitle = singleNews.NewsTitle, NewsContent = singleNews.NewsContent, NewsCommentList = (newsComments.IsNotNull() ? newsComments.GetNewsComments(singleNews.NewsId, true) : null) }; } else { frontEndNews = null; } } } return(View(frontEndNews)); }