public string Render(PlaceHolder placeHolder, PageEntry pageEntry, System.Xml.XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            containsCacheableContent = true;
            switch (placeHolder.Expression.ToLower())
            {
                case "action":
                    return PayPal.PayPalPostURL;

                case "subscribetest":

                    PaypalSubscription pps = new PaypalSubscription();
                    pps.CustomValue = Guid.NewGuid().ToString();
                    pps.ItemName = "Test Subscription";
                    pps.ItemNumber = 400;
                    pps.NotifyURL = "http://snowdevil78.dyndns.org/prospector/public/paypal-ipn-process/";
                    pps.SubscriptionPeriodSize = 3;
                    pps.SubscriptionPeriodUnit = PayPalSubscriptionPeriodUnit.Day;
                    pps.SubscriptionPrice = 10;
                    pps.TrialPeriodSize = 0;
                    pps.EditMode = PayPalSubscriptionEditMode.ModifyOnly;
                    return pps.GetFormFields();

                default:
                    return "[PayPalPlaceHolderRenderer error: Expression \"" + placeHolder.Expression + "\" not recognised]";
            }
        }
Exemplo n.º 2
0
 public static PlaceHolder[] Extract(string source)
 {
     MatchCollection matches = Regex.Matches(source, GetRegexPattern(), RegexOptions.IgnoreCase);
     PlaceHolder[] placeholders = new PlaceHolder[matches.Count];
     for (int i = 0; i < matches.Count; i++)
         placeholders[i] = new PlaceHolder(matches[i]);
     return placeholders;
 }
 public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
 {
     ListDefinition list = ListRegistry.Lists[placeHolder.Expression];
     if (list == null)
     {
         containsCacheableContent = false;
         return "[No list found named " + placeHolder.Expression + "]";
     }
     return list.Render(placeHolderStack, out containsCacheableContent);
 }
        public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            containsCacheableContent = true;
            switch (placeHolder.Expression.ToLower())
            {
                case "path":
                    return WebUtility.MakeFullPath(pageEntry.Path);

                default:
                    return "[The {pageEntry} renderer does not support the expression " + placeHolder.Expression + "]";
            }
        }
 public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
 {
     containsCacheableContent = true;
     Template t = TemplateRegistry.Templates[placeHolder.Expression];
     string text = t.Text;
     foreach (PlaceHolder ph in t.PlaceHolders)
     {
         bool cache;
         text = text.Replace(ph.RawText, ph.Render(pageEntry, content, placeHolderStack, out cache));
         containsCacheableContent = containsCacheableContent && cache;
     }
     return text;
 }
        public string Render(PlaceHolder placeHolder, PageEntry pageEntry, System.Xml.XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            containsCacheableContent = false;
            if (!WebAuthentication.Instance.IsLoggedIn)
                return "[not logged in]";
            switch (placeHolder.Expression)
            {
                case "username":
                    return SecurityProvider.CurrentUser.Username;

                default:
                    return "[\"" + placeHolder.Expression + "\" is not a recognised placeholder expression for currentuser]";
            }
        }
        public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            containsCacheableContent = false;
            String[] arr = placeHolder.Expression.Split('|');
            if (arr.Length != 2)
                return "[EmbedSecure requires expression: loggedInPageCode|loggedOutPageCode (use relevant page code values, or blank for none)]";

            string pagecode = (WebAuthentication.Instance.IsLoggedIn ? arr[0] : arr[1]).Trim();
            if (pagecode == "")
                return "";

            PageEntry page = PageRegistry.Pages.FromPageCode(pagecode);
            if (page == null)
                return "[No page found with PageCode \"" + pagecode + "\"]";

            bool discard;
            return page.Render(placeHolderStack, out discard);
        }
        public override string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            int scindex = placeHolder.Expression.IndexOf(';');
            if (scindex == -1)
            {
                containsCacheableContent = false;
                return "[externalXml placeholder expression formatted improperly. Expected {externalXml:pagecode;xpath}]";
            }
            string code = placeHolder.Expression.Substring(0, scindex);
            string xpath = placeHolder.Expression.Substring(scindex + 1);

            PageEntry page = PageRegistry.Pages.FromPageCode(code);
            if (page == null)
            {
                containsCacheableContent = false;
                return "[No external page exists with code " + code + "]";
            }

            return Render(xpath, page, page.LoadContentDocument(), placeHolderStack, out containsCacheableContent);
        }
        public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            containsCacheableContent = true;

            String[] arr = placeHolder.Expression.Split('|');
            if (arr.Length != 2)
                return "[TemplateSecure requires expression: loggedInTemplateName|loggedOutTemplateName (use relevant template names, or blank for none)]";
            string name = (WebAuthentication.Instance.IsLoggedIn ? arr[0] : arr[1]).Trim();
            if (name.Length == 0)
                return "";
            Template t = TemplateRegistry.Templates[name];
            string text = t.Text;
            foreach (PlaceHolder ph in t.PlaceHolders)
            {
                bool cache;
                text = text.Replace(ph.RawText, ph.Render(pageEntry, content, placeHolderStack, out cache));
                containsCacheableContent = containsCacheableContent && cache;
            }
            return text;
        }
        public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            Template template = TemplateRegistry.Templates[placeHolder.Expression];
            if (template == null)
            {
                containsCacheableContent = false;
                return "[No template found named \"" + placeHolder.Expression + "\"]";
            }

            string text = template.Text;
            bool ccc = true;
            foreach (PlaceHolder ph in template.PlaceHolders)
            {
                bool check;
                text = text.Replace(ph.RawText, ph.Render(pageEntry, content, placeHolderStack, out check));
                ccc = ccc & check;
            }
            containsCacheableContent = ccc;
            return text;
        }
        public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
        {
            containsCacheableContent = true;

            Type[] types;
            if (placeHolder.Expression.Trim().Length > 0)
            {
                string[] typeNames = placeHolder.Expression.Split(',');
                types = new Type[typeNames.Length];
                for (int i = 0; i < typeNames.Length; i++)
                {
                    string typeName = typeNames[i].Trim();
                    if (typeName == "")
                        continue;

                    RegisteredModule mod = Core.Instance[typeName];
                    if(mod == null)
                    {
                        containsCacheableContent = false;
                        return "alert('[Type " + typeName + " not found]');";
                    }
                    types[i] = mod.Module.GetType();
                }
            }
            else
                types = new Type[0];

            string scr =
                ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.generic.js")
                + ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.json.js")
                + ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.ajax.js")
                    .Replace("$APPLICATIONROOT$", WebUtility.BasePath)
                + WebClientScripts.Instance.GetAjaxMethodsScript(types);
            if (WebClientScripts.CompressJavaScript)
                return JavaScriptCondenser.Condense(scr);
            else
                return scr;
        }
 public virtual string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
 {
     return Render(placeHolder.Expression, pageEntry, content, placeHolderStack, out containsCacheableContent);
 }
Exemplo n.º 13
0
 public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack<string> placeHolderStack, out bool containsCacheableContent)
 {
     containsCacheableContent = true;
     return "[No renderer exists for placeholders of type " + placeHolder.Prefix + "]";
 }