public static NameValueCollection ApplySubmissionSettings(SubmissionSetting submissionSetting, NameValueCollection defaultValues, Kooboo.CMS.Common.Formula.IValueProvider valueProvider) { IFormulaParser formulaParser = Kooboo.CMS.Common.Runtime.EngineContext.Current.Resolve<IFormulaParser>(); if (submissionSetting.Settings != null) { foreach (var item in submissionSetting.Settings) { defaultValues[item.Key] = formulaParser.Populate(item.Value, valueProvider); } } return defaultValues; }
protected virtual bool ContactSiteCore(ControllerContext controllerContext, SubmissionSetting submissionSetting, out string redirectUrl) { redirectUrl = ""; var ContactSiteModel = new ContactSiteModel(); bool valid = ModelBindHelper.BindModel(ContactSiteModel, "", controllerContext, submissionSetting); if (valid) { try { SendMail(controllerContext, Site.Current, ContactSiteModel, controllerContext.HttpContext.Request.Files); } catch (DataViolationException e) { controllerContext.Controller.ViewData.ModelState.FillDataViolation(e.Violations); valid = false; } catch (Exception e) { controllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); valid = false; } } return valid; }
protected virtual bool RegisterCore(ControllerContext controllerContext, SubmissionSetting submissionSetting, out string redirectUrl) { redirectUrl = ""; var membership = MemberPluginHelper.GetMembership(); var registerMemberModel = new RegisterMemberModel(); bool valid = ModelBindHelper.BindModel(registerMemberModel, "", controllerContext, submissionSetting); if (valid) { redirectUrl = registerMemberModel.RedirectUrl; if (!string.IsNullOrEmpty(redirectUrl)) { redirectUrl = MemberPluginHelper.ResolveSiteUrl(controllerContext, redirectUrl); } try { var membershipUser = _manager.Create(membership, registerMemberModel.UserName, registerMemberModel.Email, registerMemberModel.Password, registerMemberModel.IsApproved, registerMemberModel.Culture , registerMemberModel.TimeZoneId, registerMemberModel.PasswordQuestion, registerMemberModel.PasswordAnswer, null, registerMemberModel.Profiles, null); if (registerMemberModel.IsApproved == false) { SendActivateMail(controllerContext, Site.Current, membershipUser, registerMemberModel, membershipUser.ActivateCode); } } catch (DataViolationException e) { controllerContext.Controller.ViewData.ModelState.FillDataViolation(e.Violations); valid = false; } catch (Exception e) { controllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); valid = false; } } return valid; }
protected virtual bool ActivateCore(ControllerContext controllerContext, SubmissionSetting submissionSetting, out string redirectUrl) { redirectUrl = ""; var membership = ContextHelper.GetMembership(); var model = new ActivateMemberModel(); bool valid = ModelBindHelper.BindModel(model, "", controllerContext, submissionSetting); if (valid) { try { valid = _manager.Activate(membership, model.Member, model.Code); if (valid) { redirectUrl = ContextHelper.ResolveSiteUrl(controllerContext, model.ActivateSuccessUrl); } else { redirectUrl = ContextHelper.ResolveSiteUrl(controllerContext, model.ActivateFailedUrl); } } catch (DataViolationException e) { controllerContext.Controller.ViewData.ModelState.FillDataViolation(e.Violations); valid = false; } catch (Exception e) { controllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); valid = false; } } return valid; }
protected virtual bool ForgotPasswordCore(ControllerContext controllerContext, SubmissionSetting submissionSetting, out string redirectUrl) { redirectUrl = ""; var membership = MemberPluginHelper.GetMembership(); var forgotPasswordModel = new ForgotPasswordModel(); bool valid = ModelBindHelper.BindModel(forgotPasswordModel, "", controllerContext, submissionSetting); if (valid) { redirectUrl = forgotPasswordModel.RedirectUrl; if (!string.IsNullOrEmpty(redirectUrl)) { redirectUrl = MemberPluginHelper.ResolveSiteUrl(controllerContext, redirectUrl); } try { var membershipUser = _manager.ForgotPassword(membership, forgotPasswordModel.UserName); SendMail(controllerContext, Site.Current, membershipUser, forgotPasswordModel); } catch (DataViolationException e) { controllerContext.Controller.ViewData.ModelState.FillDataViolation(e.Violations); valid = false; } catch (Exception e) { controllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); valid = false; } } return valid; }
protected virtual bool EditCore(ControllerContext controllerContext, SubmissionSetting submissionSetting, out string redirectUrl) { redirectUrl = ""; var memberAuth = controllerContext.HttpContext.Membership(); if (memberAuth.GetMember().Identity.IsAuthenticated == false) { throw new HttpException((int)System.Net.HttpStatusCode.Unauthorized, ""); } var membership = MemberPluginHelper.GetMembership(); var membershipUser = controllerContext.HttpContext.Membership().GetMembershipUser(); var editMemberModel = new EditMemberProfileModel(); bool valid = ModelBindHelper.BindModel(editMemberModel, "", controllerContext, submissionSetting); if (valid) { redirectUrl = editMemberModel.RedirectUrl; if (!string.IsNullOrEmpty(redirectUrl)) { redirectUrl = MemberPluginHelper.ResolveSiteUrl(controllerContext, redirectUrl); } try { _manager.EditMemberProfile(membership, memberAuth.GetMember().Identity.Name, editMemberModel.Email, editMemberModel.Culture, editMemberModel.TimeZoneId, editMemberModel.PasswordQuestion, editMemberModel.PasswordAnswer, editMemberModel.Profiles); valid = true; } catch (DataViolationException e) { controllerContext.Controller.ViewData.ModelState.FillDataViolation(e.Violations); valid = false; } catch (Exception e) { controllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); valid = false; } } return valid; }
public ActionResult Submit(Site site, ControllerContext controllerContext, SubmissionSetting submissionSetting) { object model = null; Exception exception = null; var formValues = new NameValueCollection(controllerContext.HttpContext.Request.Unvalidated().Form); try { var repository = site.GetRepository(); var valueProvider = new NameValueCollectionProvider(formValues); formValues = PluginHelper.ApplySubmissionSettings(submissionSetting, formValues); var folderName = formValues["FolderName"]; if (!string.IsNullOrEmpty(folderName)) { var folder = FolderHelper.Parse<TextFolder>(repository, folderName); model = DoPost(repository, folder, controllerContext, formValues); } } catch (Exception e) { exception = e; } return PluginHelper.ReturnActionResult(controllerContext, model, exception); }
protected virtual bool ChangePasswordCore(ControllerContext controllerContext, SubmissionSetting submissionSetting = null) { var memberAuth = controllerContext.HttpContext.Membership(); if (memberAuth.GetMember().Identity.IsAuthenticated == false) { throw new HttpException((int)System.Net.HttpStatusCode.Unauthorized, ""); } var membership = MemberPluginHelper.GetMembership(); var model = new ChangeMemberPasswordModel(); bool valid = ModelBindHelper.BindModel(model, "", controllerContext, submissionSetting); if (valid) { valid = _manager.Validate(membership, memberAuth.GetMember().Identity.Name, model.OldPassword); if (valid) { _manager.ChangePassword(membership, memberAuth.GetMember().Identity.Name, model.NewPassword); valid = true; } else { valid = false; controllerContext.Controller.ViewData.ModelState.AddModelError("OldPassword", "The old password is incorrect.".RawLabel().ToString()); } } return valid; }
protected virtual bool LoginCore(ControllerContext controllerContext, SubmissionSetting submissionSetting, out string redirectUrl) { redirectUrl = null; var membership = ContextHelper.GetMembership(); var model = new ValidateMemberModel(); bool valid = ModelBindHelper.BindModel(model, "", controllerContext, submissionSetting); if (valid) { try { valid = _manager.Validate(membership, model.UserName, model.Password); if (valid) { controllerContext.HttpContext.MemberAuthentication().SetAuthCookie(model.UserName, model.RememberMe == null ? false : model.RememberMe.Value); if (!string.IsNullOrEmpty(model.RedirectUrl)) { redirectUrl = ContextHelper.ResolveSiteUrl(controllerContext, model.RedirectUrl); } if (!string.IsNullOrEmpty(ContextHelper.GetReturnUrl(controllerContext))) { redirectUrl = ContextHelper.GetReturnUrl(controllerContext); } } else { controllerContext.Controller.ViewData.ModelState.AddModelError("", "Username and/or password are incorrect.".RawLabel().ToString()); } } catch (DataViolationException e) { controllerContext.Controller.ViewData.ModelState.FillDataViolation(e.Violations); valid = false; } catch (Exception e) { controllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); valid = false; } } return valid; }