internal override void Render(ExecutionState state, Dictionary <string, SprocketScript> overrides) { script.SetOverrides(overrides); if (!script.Execute(state)) { state.Output.Write(state.ErrorHTML); } script.RestoreOverrides(); }
void WebEvents_OnLoadRequestedPath(HandleFlag handled) { if (handled.Handled) { return; } if (SprocketPath.Sections[0] == "admin") { if (!WebAuthentication.IsLoggedIn) { HttpContext.Current.Response.Write("Access Denied."); handled.Set(); return; } switch (SprocketPath.Value) { case "admin": { string html = WebUtility.CacheTextFile("resources/admin/frames/admin-iframes.htm"); //string html = ResourceLoader.LoadTextResource("Sprocket.Web.CMS.Admin.admin-iframes.htm"); SprocketScript scr = new SprocketScript(html, "Admin Frames", "Admin Frames"); HttpContext.Current.Response.Write(scr.Execute()); } break; case "admin/overlay": RenderOverlayPage(); break; case "admin/frames": { string html = WebUtility.CacheTextFile("resources/admin/frames/admin-frames.htm"); //string html = ResourceLoader.LoadTextResource("Sprocket.Web.CMS.Admin.admin-frames.htm"); SprocketScript scr = new SprocketScript(html, "Admin Overlay Frame", "Admin Overlay Frame"); HttpContext.Current.Response.Write(scr.Execute()); } break; case "admin/addressbar": { string html = WebUtility.CacheTextFile("resources/admin/frames/admin-address-bar.htm"); //string html = ResourceLoader.LoadTextResource("Sprocket.Web.CMS.Admin.admin-address-bar.htm"); SprocketScript scr = new SprocketScript(html, "Admin Overlay Frame", "Admin Overlay Frame"); HttpContext.Current.Response.Write(scr.Execute()); } break; default: return; } handled.Set(); } }
void Instance_OnLoadRequestedPath(System.Web.HttpApplication app, string sprocketPath, string[] pathSections, HandleFlag handled) { if (sprocketPath == "scripttest") { string html = Sprocket.Utility.ResourceLoader.LoadTextResource("Sprocket.Web.CMS.SprocketScript.test.htm"); SprocketScript script = new SprocketScript(html); HttpContext.Current.Response.ContentType = "text/html"; script.Execute(HttpContext.Current.Response.OutputStream); //string test = script.Execute(); //HttpContext.Current.Response.Write(test); handled.Set(); } }
public virtual string Render() { if (text != null) { return(text); } if (script != null) { return(script.Execute()); } if (template != null) { return(template.Render()); } return(String.Empty); }
void RenderOverlayPage() { //string html = ResourceLoader.LoadTextResource("Sprocket.Web.CMS.Admin.admin-iframe-overlay.htm"); List <IAdminMenuItem> items = new List <IAdminMenuItem>(); foreach (Type t in Core.Modules.GetInterfaceImplementations(typeof(IAdminMenuItem))) { items.Add((IAdminMenuItem)Activator.CreateInstance(t)); } items.Sort(delegate(IAdminMenuItem a, IAdminMenuItem b) { int f = a.Priority.CompareTo(b.Priority); if (f != 0) { return(f); } return(a.MenuLinkText.CompareTo(b.MenuLinkText)); }); StringBuilder links = new StringBuilder(); StringBuilder head = new StringBuilder(); foreach (IAdminMenuItem item in items) { links.AppendFormat("<span class=\"divider\"> | </span><a class=\"tab\" href=\"javascript:void(0)\" onclick=\"{0}\">{1}</a>", item.MenuLinkOnClick, item.MenuLinkText); head.Append(item.HeadContent); } string html = WebUtility.CacheTextFile("resources/admin/frames/admin-iframe-overlay.htm"); SprocketScript scr = new SprocketScript(html, "Admin Overlay Frame", "Admin Overlay Frame"); HttpContext.Current.Response.Write( scr.Execute() .Replace("[head-content]", head.ToString()) .Replace("[menu-links]", links.ToString()) ); }