public ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { var httpContext = context.ControllerContext.RequestContext.HttpContext; var site = context.PageRequestContext.Site; var repository = site.GetRepository(); if (repository == null) { throw new SiteRepositoryNotExists(); } object model = null; Exception exception = null; try { var folderName = context.ControllerContext.RequestContext.GetRequestValue("FolderName"); if (!string.IsNullOrEmpty(folderName)) { var folder = FolderHelper.Parse <TextFolder>(repository, folderName); model = DoPost(repository, folder, context.ControllerContext, context.ControllerContext.HttpContext.Request.Form); } } catch (Exception e) { exception = e; } return(PluginHelper.ReturnActionResult(context.ControllerContext, model, exception)); }
public System.Web.Mvc.ActionResult ExecutePage(Page_Context page_context) { //execute plugins //execute data rule/data source //initlize title/metadata //execute module actions return(ViewPage(page_context)); }
public System.Web.Mvc.ActionResult ExecutePage(Page_Context page_context) { //execute plugins //execute data rule/data source //initlize title/metadata //execute module actions return ViewPage(page_context); }
private ActionResult Authorizate(Page_Context context) { if (!MemberAuth.IsAuthenticated()) { return(new RedirectResult(context.Url.FrontUrl().PageUrl("SignIN", new { returnUrl = context.ControllerContext.HttpContext.Request.RawUrl }).ToString())); } return(null); }
public virtual ActionResult Execute(Page_Context pageContext, PagePositionContext positionContext) { PageContext = pageContext; PagePositionContext = positionContext; Context = pageContext.ControllerContext.HttpContext; Request = Context.Request; Response = Context.Response; return(Execute()); }
public System.Web.Mvc.ActionResult HttpGet(Page_Context context, PagePositionContext positionContext) { _responseManager.SetHeader("SamplePlugin", "GET"); //context.ControllerContext.Controller.ViewBag.ovos = "ovos"; //context.ControllerContext.Controller.ControllerContext. return(null); }
/// <summary> /// 结束页面请求 /// </summary> /// <param name="page_Context"></param> public void EndPageRequest(Page_Context page_context) { Contract.Requires(page_context != null); foreach (var item in _events) { item.EndPageRequest(this, new EndPageRequestEvengArgs(page_context)); } _pageRequestFlow.EndPageRequest(page_context); }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { HttpRequestBase request = context.ControllerContext.HttpContext.Request; Controller controller = (Controller)context.ControllerContext.Controller; string username = request.Params["UserName"]; string token = request.Params["token"]; if (!ValidateMemberPasswordToken(username, token)) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The password token is invalid.".Localize()); return(null); } AntiForgery.Validate(); var newPassword = request.Form["newpassword"]; var confirmPassword = request.Form["confirmPassword"]; if (newPassword != confirmPassword) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The passwords do not match.".RawLabel().ToString()); return(null); } try { var httpContext = context.ControllerContext.HttpContext; var repository = Repository.Current; var textFolder = new TextFolder(repository, "Members"); var content = textFolder.CreateQuery().WhereEquals("UserName", username).FirstOrDefault(); var passwordSalt = ""; if (content["PasswordSalt"] == null) { passwordSalt = MemberAuth.GenerateSalt(); } else { passwordSalt = content["PasswordSalt"].ToString(); } newPassword = MemberAuth.EncryptPassword(newPassword, passwordSalt); ServiceFactory.TextContentManager.Update(textFolder, content.UUID, new string[] { "Password", "ForgotPWToken", "PasswordSalt" }, new object[] { newPassword, "", passwordSalt }); context.ControllerContext.Controller.ViewBag.Message = "The password has been changed.".Label(); MemberAuth.SetAuthCookie(username, false); return(new RedirectResult(context.Url.FrontUrl().PageUrl("Dashboard").ToString())); } catch (Exception e) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message); Kooboo.HealthMonitoring.Log.LogException(e); } return(null); }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { HttpRequestBase request = context.ControllerContext.HttpContext.Request; Controller controller = (Controller)context.ControllerContext.Controller; string username = request.Form["username"]; string email = request.Form["email"]; try { if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(email)) { controller.ViewData.ModelState.AddModelError("", "Username or Email is required.".Localize()); return(null); } else if (controller.ViewData.ModelState.IsValid) { var repository = Repository.Current; var textFolder = new TextFolder(repository, "Members"); TextContent content = null; if (!string.IsNullOrEmpty(username)) { content = textFolder.CreateQuery().WhereEquals("UserName", username).FirstOrDefault(); email = content.Get <string>("Email"); } else { content = textFolder.CreateQuery().WhereEquals("Email", email).FirstOrDefault(); username = content.Get <string>("UserName"); } if (content != null) { string randomValue = Kooboo.UniqueIdGenerator.GetInstance().GetBase32UniqueId(16); ServiceFactory.TextContentManager.Update(textFolder, content.UUID, new string[] { "ForgotPWToken" }, new object[] { randomValue }); string link = new Uri(request.Url, string.Format("ResetPassword?UserName={0}&token={1}".RawLabel().ToString(), username, randomValue)).ToString(); string emailBody = "<b>{0}</b> <br/><br/> To change your password, click on the following link:<br/> <br/> <a href='{1}'>{1}</a> <br/>".RawLabel().ToString(); string subject = "Reset your password".RawLabel().ToString(); string body = string.Format(emailBody, username, link); SendMail(email, subject, body, false); } else { controller.ViewData.ModelState.AddModelError("", "The user does not exists.".RawLabel().ToString()); } controller.ViewBag.Message = "An email with instructions to choose a new password has been sent to you.".RawLabel().ToString(); } } catch (Exception e) { controller.ViewData.ModelState.AddModelError("", e.Message); } return(null); }
protected override void BySchema(Page_Context pageContext, View.PagePositionContext positionContext, Repository repository, Schema schema) { string uuid = pageContext.ControllerContext.RequestContext.GetRequestValue("uuid"); try { Content.Services.ServiceFactory.TextContentManager.Delete(repository, schema, uuid); } catch (RuleViolationException violationException) { violationException.FillIssues(positionContext == null ? pageContext.ControllerContext.Controller.ViewData.ModelState : positionContext.ViewData.ModelState); } }
public System.Web.Mvc.ActionResult HttpGet(Page_Context context, PagePositionContext positionContext) { HttpRequestBase request = context.ControllerContext.HttpContext.Request; Controller controller = (Controller)context.ControllerContext.Controller; string username = request.Params["UserName"]; string token = request.Params["token"]; if (!ValidateMemberPasswordToken(username, token)) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The password token is invalid.".Localize()); } return(null); }
public virtual IHtmlString Render(Page_Context pageContext, string positionId, string defaultHost, string defaultRequestPath, bool noProxy, CacheSettings cacheSetting) { string moduleURL = pageContext.PageRequestContext.ModuleUrlContext.GetModuleUrl(positionId); if (!string.IsNullOrEmpty(moduleURL)) { defaultRequestPath = moduleURL.Trim('~'); } var httpMethod = pageContext.ControllerContext.HttpContext.Request.HttpMethod; if (!defaultHost.StartsWith("http://")) { defaultHost = "http://" + defaultHost; } var requestUrl = UrlUtility.Combine(defaultHost, defaultRequestPath); Func <IHtmlString> getHtml = () => { Func <string, bool, string> proxyUrl = null; if (!noProxy) { proxyUrl = (url, isForm) => GenerateProxyUrl(pageContext, positionId, url, isForm); } if (httpMethod.ToUpper() == "POST") { var postModule = pageContext.PageRequestContext.AllQueryString[Kooboo.CMS.Sites.View.ModuleUrlContext.PostModuleParameter]; if (postModule != positionId) { httpMethod = "GET"; } } var html = _webProxy.ProcessRequest(pageContext.ControllerContext.HttpContext, requestUrl, httpMethod, proxyUrl); return(html); }; if (cacheSetting != null && cacheSetting.EnableCaching != null && cacheSetting.EnableCaching == true && httpMethod.ToUpper() == "GET") { string cacheKey = string.Format("{0}-{1}-{2}", positionId, requestUrl, noProxy); return(pageContext.PageRequestContext.Site.ObjectCache().GetCache(cacheKey, getHtml, cacheSetting.ToCachePolicy())); } else { return(getHtml()); } }
public virtual IHtmlString Render(Page_Context pageContext, string positionId, string defaultHost, string defaultRequestPath, bool noProxy, CacheSettings cacheSetting) { string moduleURL = pageContext.PageRequestContext.ModuleUrlContext.GetModuleUrl(positionId); if (!string.IsNullOrEmpty(moduleURL)) { defaultRequestPath = moduleURL.Trim('~'); } var httpMethod = pageContext.ControllerContext.HttpContext.Request.HttpMethod; if (!defaultHost.StartsWith("http://")) { defaultHost = "http://" + defaultHost; } var requestUrl = UrlUtility.Combine(defaultHost, defaultRequestPath); Func<IHtmlString> getHtml = () => { Func<string, bool, string> proxyUrl = null; if (!noProxy) { proxyUrl = (url, isForm) => GenerateProxyUrl(pageContext, positionId, url, isForm); } if (httpMethod.ToUpper() == "POST") { var postModule = pageContext.PageRequestContext.AllQueryString[Kooboo.CMS.Sites.View.ModuleUrlContext.PostModuleParameter]; if (postModule != positionId) { httpMethod = "GET"; } } var html = _webProxy.ProcessRequest(pageContext.ControllerContext.HttpContext, requestUrl, httpMethod, proxyUrl); return html; }; if (cacheSetting != null && cacheSetting.EnableCaching != null && cacheSetting.EnableCaching == true && httpMethod.ToUpper() == "GET") { string cacheKey = string.Format("{0}-{1}-{2}", positionId, requestUrl, noProxy); return pageContext.PageRequestContext.Site.ObjectCache().GetCache(cacheKey, getHtml, cacheSetting.ToCachePolicy()); } else { return getHtml(); } }
protected override void BySchema(Page_Context pageContext, View.PagePositionContext positionContext, Repository repository, Schema schema) { var httpContext = pageContext.ControllerContext.RequestContext.HttpContext; string parentUUID = pageContext.ControllerContext.RequestContext.GetRequestValue("ParentUUID"); try { Content.Services.ServiceFactory.TextContentManager.Add(repository, schema, parentUUID, httpContext.Request.Form, httpContext.Request.Files, httpContext.User.Identity.Name); } catch (RuleViolationException violationException) { violationException.FillIssues(positionContext == null ? pageContext.ControllerContext.Controller.ViewData.ModelState : positionContext.ViewData.ModelState); } }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { AntiForgery.Validate(); try { var httpContext = context.ControllerContext.HttpContext; var repository = Repository.Current; var textFolder = new TextFolder(repository, "Members"); var userContent = MemberAuth.GetMemberContent(); var oldPassword = httpContext.Request.Form["OldPassword"]; var newPassword = httpContext.Request.Form["NewPassword"]; if (userContent["PasswordSalt"] != null) { oldPassword = MemberAuth.EncryptPassword(oldPassword, userContent["PasswordSalt"].ToString()); } if (userContent["password"].ToString() == oldPassword) { var passwordSalt = ""; if (userContent["PasswordSalt"] == null) { passwordSalt = MemberAuth.GenerateSalt(); } else { passwordSalt = userContent["PasswordSalt"].ToString(); } newPassword = MemberAuth.EncryptPassword(newPassword, passwordSalt); ServiceFactory.TextContentManager.Update(textFolder, userContent.UUID, new string[] { "Password", "PasswordSalt" }, new object[] { newPassword, passwordSalt }); context.ControllerContext.Controller.ViewBag.Message = "The password has been changed.".RawLabel().ToString(); } else { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The old password is invalid.".RawLabel().ToString()); } } catch (Exception e) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e); Kooboo.HealthMonitoring.Log.LogException(e); } return(null); }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { AntiForgery.Validate(); try { var httpContext = context.ControllerContext.HttpContext; var repository = Repository.Current; var textFolder = new TextFolder(repository, "Members"); string username = httpContext.Request.Form["username"]; string password = httpContext.Request.Form["password"]; var member = textFolder.CreateQuery().WhereEquals("UserName", username).FirstOrDefault(); if (member != null) { var encryptedPassword = password; if (member["PasswordSalt"] != null) { var passwordSalt = member["PasswordSalt"].ToString(); encryptedPassword = MemberAuth.EncryptPassword(password, passwordSalt); } if (encryptedPassword == member["Password"].ToString()) { var rememberme = httpContext.Request.Form["rememberMe"].Contains("true"); var returnUrl = httpContext.Request.QueryString["returnUrl"]; if (string.IsNullOrEmpty(returnUrl)) { returnUrl = context.Url.FrontUrl().PageUrl("Dashboard").ToString(); } MemberAuth.SetAuthCookie(username, rememberme); return(new RedirectResult(returnUrl)); } } context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "Username or password is invalid".RawLabel().ToString()); return(null); } catch (Exception e) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e); Kooboo.HealthMonitoring.Log.LogException(e); } return(null); }
/// <summary> /// 渲染输出页面 /// </summary> /// <param name="page_context"></param> /// <param name="actionResult"></param> public void RenderPage(Page_Context page_context, ActionResult actionResult) { Contract.Requires(page_context != null); Contract.Requires(actionResult != null); foreach (var item in _events) { item.PreRenderPage(this, new PreRenderPageEventArgs(page_context, actionResult)); } _pageRequestFlow.RenderPage(page_context, actionResult); foreach (var item in _events) { var args = new PostRenderPageEventArgs(page_context, actionResult); item.PostRenderPage(this, args); } }
public virtual IHtmlString RenderView(HtmlHelper htmlHelper, Page_Context pageContext, string viewName, ViewDataDictionary viewData, object parameters, bool executeDataRule) { Kooboo.CMS.Sites.Models.View view = (new Kooboo.CMS.Sites.Models.View(pageContext.PageRequestContext.Site, viewName).LastVersion()).AsActual(); if (view != null) { //backup the parent view context var parentPositionContext = pageContext.ViewDataContext; var parameters1 = parameters is IDictionary <string, object>?((IDictionary <string, object>)parameters) : new RouteValueDictionary(parameters); pageContext.ViewDataContext = new PagePositionContext(view, parameters1, viewData); if (executeDataRule) { viewData = new ViewDataDictionary(viewData); var pageRequestContext = pageContext.PageRequestContext; if (view.DataRules != null) { var valueProvider = pageRequestContext.GetValueProvider(); valueProvider.Insert(0, new ViewParameterValueProvider(pageContext.ViewDataContext.Parameters)); var dataRuleContext = new DataRuleContext(pageRequestContext.Site, pageRequestContext.Page) { ValueProvider = valueProvider }; DataRuleExecutor.Execute(viewData, dataRuleContext, view.DataRules); } } var html = RenderViewInternal(htmlHelper, view.TemplateFileVirutalPath, viewData, null); if (pageContext.EnableTrace) { html = new HtmlString(string.Format(GeneratedByViewComment, viewName, html.ToString())); } //restore the parent view context pageContext.ViewDataContext = parentPositionContext; return(html); } else { return(new HtmlString("")); } }
protected override void ByFolder(Page_Context pageContext, View.PagePositionContext positionContext, Repository repository, TextFolder folder) { var httpContext = pageContext.ControllerContext.RequestContext.HttpContext; string uuid = pageContext.ControllerContext.RequestContext.GetRequestValue("uuid"); var addCategories = GetCategories("AddCategories", pageContext.ControllerContext); var removeCategories = GetCategories("RemoveCategories", pageContext.ControllerContext); try { Content.Services.ServiceFactory.TextContentManager.Update(repository, folder, uuid, httpContext.Request.Form , httpContext.Request.Files, DateTime.UtcNow, addCategories, removeCategories, httpContext.User.Identity.Name); } catch (RuleViolationException violationException) { violationException.FillIssues(positionContext == null ? pageContext.ControllerContext.Controller.ViewData.ModelState : positionContext.ViewData.ModelState); } }
/// <summary> /// <example> /// <div> // <div> // <form method="post"> // <input type="hidden" name="FolderName" value="news" /> // <input type="hidden" name="Published" value="true" /> // <input type="hidden" name="Categories[0].FolderName" value="<%: ViewBag.category.FolderName %>" /> // <input type="hidden" name="Categories[0].UUID" value="<%: ViewBag.category.UUID %>" /> // <table> // <tr> // <td> // title: // </td> // <td> // <input type="text" name="title" data-val-required="title is required" data-val="true" /> // <%: Html.ValidationMessageForInput("title") %> // </td> // </tr> // <tr> // <td> // body: // </td> // <td> // <textarea name="body" cols="20" rows="10"></textarea> // </td> // </tr> // </table> // <input type="submit" name="submit" value="submit" /> // </form> //</div> /// </example> /// </summary> /// <param name="pageContext"></param> /// <param name="repository"></param> /// <param name="folder"></param> protected override void ByFolder(Page_Context pageContext, View.PagePositionContext positionContext, Repository repository, TextFolder folder) { var httpContext = pageContext.ControllerContext.RequestContext.HttpContext; var categories = GetCategories("Categories", pageContext.ControllerContext); try { var parentFolder = httpContext.Request.Form["ParentFolder"]; var parentUUID = httpContext.Request.Form["ParentUUID"]; Content.Services.ServiceFactory.TextContentManager.Add(repository, folder, parentFolder, parentUUID, httpContext.Request.Form, httpContext.Request.Files, categories, httpContext.User.Identity.Name); } catch (RuleViolationException violationException) { violationException.FillIssues(positionContext == null ? pageContext.ControllerContext.Controller.ViewData.ModelState : positionContext.ViewData.ModelState); } }
/// <summary> /// 执行页面逻辑 /// </summary> /// <param name="page_context"></param> /// <returns></returns> public ActionResult ExecutePage(Page_Context page_context) { Contract.Requires(page_context != null); foreach (var item in _events) { item.PreExecutePage(this, new PreExecutePageEventArgs(page_context)); } var actionResult = _pageRequestFlow.ExecutePage(page_context); foreach (var item in _events) { var args = new PostExecutePageEventArgs(page_context, actionResult); item.PostExecutePage(this, args); actionResult = args.ActionResult; } return(actionResult); }
public virtual IHtmlString RenderView(HtmlHelper htmlHelper, Page_Context pageContext, string viewName, ViewDataDictionary viewData, object parameters, bool executeDataRule) { Kooboo.CMS.Sites.Models.View view = (new Kooboo.CMS.Sites.Models.View(pageContext.PageRequestContext.Site, viewName).LastVersion()).AsActual(); if (view != null) { //backup the parent view context var parentPositionContext = pageContext.ViewDataContext; var parameters1 = parameters is IDictionary<string, object> ? ((IDictionary<string, object>)parameters) : new RouteValueDictionary(parameters); pageContext.ViewDataContext = new PagePositionContext(view, parameters1, viewData); if (executeDataRule) { viewData = new ViewDataDictionary(viewData); var pageRequestContext = pageContext.PageRequestContext; if (view.DataRules != null) { var valueProvider = pageRequestContext.GetValueProvider(); valueProvider.Insert(0, new ViewParameterValueProvider(pageContext.ViewDataContext.Parameters)); var dataRuleContext = new DataRuleContext(pageRequestContext.Site, pageRequestContext.Page) { ValueProvider = valueProvider }; DataRuleExecutor.Execute(viewData, dataRuleContext, view.DataRules); } } var html = RenderViewInternal(htmlHelper, view.TemplateFileVirutalPath, viewData, null); if (pageContext.EnableTrace) { html = new HtmlString(string.Format(GeneratedByViewComment, viewName, html.ToString())); } //restore the parent view context pageContext.ViewDataContext = parentPositionContext; return html; } else { return new HtmlString(""); } }
protected virtual ActionResult ViewPage(Page_Context page_context) { var layout = new Layout(page_context.PageRequestContext.SiteMappedContext.Site, page_context.PageLayout).LastVersion(page_context.PageRequestContext.SiteMappedContext.Site); if (layout == null) { throw new Exception(string.Format("The layout does not exists. Layout name:{0}".Localize(), page_context.PageLayout)); } return new ContentResult() { Content = page_context.PageRequestContext.Page.Html }; //ViewResult viewResult = new FrontViewResult(ControllerContext, layout.FileExtension.ToLower(), layout.TemplateFileVirutalPath); //if (viewResult != null) //{ // viewResult.ViewData = this.ViewData; // viewResult.TempData = this.TempData; //} //return viewResult; }
protected virtual ActionResult ViewPage(Page_Context page_context) { var layout = new Layout(page_context.PageRequestContext.SiteMappedContext.Site, page_context.PageLayout).LastVersion(page_context.PageRequestContext.SiteMappedContext.Site); if (layout == null) { throw new Exception(string.Format("The layout does not exists. Layout name:{0}".Localize(), page_context.PageLayout)); } return(new ContentResult() { Content = page_context.PageRequestContext.Page.Html }); //ViewResult viewResult = new FrontViewResult(ControllerContext, layout.FileExtension.ToLower(), layout.TemplateFileVirutalPath); //if (viewResult != null) //{ // viewResult.ViewData = this.ViewData; // viewResult.TempData = this.TempData; //} //return viewResult; }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { AntiForgery.Validate(); try { var httpContext = context.ControllerContext.HttpContext; var repository = Repository.Current; var textFolder = new TextFolder(repository, "Members"); var userContent = MemberAuth.GetMemberContent(); var email = httpContext.Request.Form["Email"]; var language = httpContext.Request.Form["Language"]; ServiceFactory.TextContentManager.Update(textFolder, userContent.UUID, new string[] { "Email", "Language" }, new object[] { email, language }); } catch (Exception e) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e); Kooboo.HealthMonitoring.Log.LogException(e); } return(null); }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { AntiForgery.Validate(); try { var httpContext = context.ControllerContext.HttpContext; var repository = Repository.Current; var textFolder = new TextFolder(repository, "Members"); var values = new NameValueCollection(httpContext.Request.Form); values["Published"] = true.ToString(); var member = textFolder.CreateQuery().WhereEquals("UserName", values["username"]).FirstOrDefault(); if (member != null) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("UserName", "The user already exists.".RawLabel().ToString()); } else { values["PasswordSalt"] = MemberAuth.GenerateSalt(); values["Password"] = MemberAuth.EncryptPassword(values["Password"], values["PasswordSalt"]); var textContext = ServiceFactory.TextContentManager.Add(repository, textFolder, null, null, values, httpContext.Request.Files, null, httpContext.User.Identity.Name); MemberAuth.SetAuthCookie(textContext["UserName"].ToString(), false); return(new RedirectResult(context.Url.FrontUrl().PageUrl("Dashboard").ToString())); } } catch (Exception e) { context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e); Kooboo.HealthMonitoring.Log.LogException(e); } return(null); }
protected string GenerateProxyUrl(Page_Context pageContext, string positionId, string url, bool isForm) { if (string.IsNullOrEmpty(url)) { return(""); } if (!url.StartsWith("#") && !url.StartsWith("javascript:") && !Uri.IsWellFormedUriString(url, UriKind.Absolute)) { var encodedModuleUrl = ModuleUrlHelper.Encode(url); var routeValues = pageContext.PageRequestContext.ModuleUrlContext.GetRouteValuesWithModuleUrl(positionId, encodedModuleUrl, false); var pageUrl = pageContext.FrontUrl.PageUrl(pageContext.PageRequestContext.Page.FullName, routeValues).ToString(); if (isForm) { pageUrl = Kooboo.Web.Url.UrlUtility.AddQueryParam(pageUrl, Kooboo.CMS.Sites.View.ModuleUrlContext.PostModuleParameter, positionId); } return(pageUrl); } else { return(url); } }
public void EndPageRequest(Page_Context page_context) { }
public FrontHtmlHelper(Page_Context context, HtmlHelper html) { Page_Context = context; Html = html; }
public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext) { _responseManager.SetHeader("SamplePlugin", "POST"); return(null); }
public System.Web.Mvc.ActionResult Execute(Page_Context pageViewContext, PagePositionContext positionContext) { //pageViewContext.ControllerContext.HttpContext.Response.Write("Sample plugin executed.<br/>"); return(null); }
public PostRenderPageEventArgs(Page_Context page_context, ActionResult actionResult) { this.Page_Context = page_context; this.ActionResult = ActionResult; }
public PostExecutePageEventArgs(Page_Context page_context, ActionResult actionResult) { this.Page_Context = page_context; this.ActionResult = actionResult; }
public EndPageRequestEvengArgs(Page_Context page_context) { this.Page_Context = page_context; }
public void RenderPage(Page_Context page_context, System.Web.Mvc.ActionResult actionResult) { actionResult.ExecuteResult(page_context.ControllerContext); }
public System.Web.Mvc.ActionResult HttpGet(Page_Context context, PagePositionContext positionContext) { return(null); }
public ActionResult HttpGet(Page_Context context, PagePositionContext positionContext) { return(null); }
/// <summary> /// 执行页面逻辑 /// </summary> /// <param name="page_context"></param> /// <returns></returns> public ActionResult ExecutePage(Page_Context page_context) { Contract.Requires(page_context != null); foreach (var item in _events) { item.PreExecutePage(this, new PreExecutePageEventArgs(page_context)); } var actionResult = _pageRequestFlow.ExecutePage(page_context); foreach (var item in _events) { var args = new PostExecutePageEventArgs(page_context, actionResult); item.PostExecutePage(this, args); actionResult = args.ActionResult; } return actionResult; }
protected string GenerateProxyUrl(Page_Context pageContext, string positionId, string url, bool isForm) { if (string.IsNullOrEmpty(url)) { return ""; } if (!url.StartsWith("#") && !url.StartsWith("javascript:")) { var encodedModuleUrl = ModuleUrlHelper.Encode(url); var routeValues = pageContext.PageRequestContext.ModuleUrlContext.GetRouteValuesWithModuleUrl(positionId, encodedModuleUrl, false); var pageUrl = pageContext.FrontUrl.PageUrl(pageContext.PageRequestContext.Page.FullName, routeValues).ToString(); if (isForm) { pageUrl = Kooboo.Web.Url.UrlUtility.AddQueryParam(pageUrl, Kooboo.CMS.Sites.View.ModuleUrlContext.PostModuleParameter, positionId); } return pageUrl; } else { return url; } }
/// <summary> /// 渲染输出页面 /// </summary> /// <param name="page_context"></param> /// <param name="actionResult"></param> public void RenderPage(Page_Context page_context, ActionResult actionResult) { Contract.Requires(page_context != null); Contract.Requires(actionResult != null); foreach (var item in _events) { item.PreRenderPage(this, new PreRenderPageEventArgs(page_context, actionResult)); } _pageRequestFlow.RenderPage(page_context,actionResult); foreach (var item in _events) { var args = new PostRenderPageEventArgs(page_context, actionResult); item.PostRenderPage(this, args); } }