Пример #1
0
 internal override void Render(ExecutionState state, Dictionary <string, SprocketScript> overrides)
 {
     script.SetOverrides(overrides);
     if (!script.Execute(state))
     {
         state.Output.Write(state.ErrorHTML);
     }
     script.RestoreOverrides();
 }
Пример #2
0
        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();
            }
        }
Пример #3
0
 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();
     }
 }
Пример #4
0
 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();
     }
 }
Пример #5
0
 public virtual string Render()
 {
     if (text != null)
     {
         return(text);
     }
     if (script != null)
     {
         return(script.Execute());
     }
     if (template != null)
     {
         return(template.Render());
     }
     return(String.Empty);
 }
Пример #6
0
        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())
                );
        }