Beispiel #1
0
        public static void AddExtensionPageProperty(PageType pageType)
        {
            if (pageType.Definitions.Find(def => def.Name == "ExtensionPageProperty") == null)
            {
                if (pageType.Definitions.Find(def => def.Name == "ExtensionPageProperty") == null)
                {
                    var item = new PageDefinition();
                    item.PageTypeID       = pageType.ID;
                    item.Name             = "ExtensionPageProperty";
                    item.EditCaption      = "ExtensionPageProperty";
                    item.HelpText         = "Specialized For Extension Added By Extension (Do not remove)";
                    item.DefaultValueType = DefaultValueType.None;
                    item.DefaultValue     = "";
                    item.Type             = PageTypeManager.ExtensionPageDefinitionType;
                    item.ID                 = 0;
                    item.Searchable         = true;
                    item.Tab                = PageTypeManager.LoadExtensionTab();
                    item.DisplayEditUI      = true;
                    item.LanguageSpecific   = true;
                    item.LongStringSettings = 0;
                    item.Save();
                    item.ClearCache();
                    pageType.Definitions.Add(item);
                }
            }

            PageDefinitionType.ClearCache();
        }
Beispiel #2
0
        public static void AddContentAreaProperty(PageType pageType, string name, string description)
        {
            Predicate <PageDefinition> match = null;

            if (pageType.Definitions.Find(def => def.Name == name) == null)
            {
                match = delegate(PageDefinition def)
                {
                    return(def.Name == name);
                };

                if (pageType.Definitions.Find(match) == null)
                {
                    var item = new PageDefinition();
                    item.PageTypeID       = pageType.ID;
                    item.Name             = name;
                    item.EditCaption      = name;
                    item.HelpText         = description;
                    item.DefaultValueType = DefaultValueType.None;
                    item.DefaultValue     = "";
                    item.Type             = PageTypeManager.ContentAreaPropertyType;
                    item.ID                 = 0;
                    item.Searchable         = true;
                    item.Tab                = PageTypeManager.LoadExtensionTab();
                    item.DisplayEditUI      = false;
                    item.LanguageSpecific   = false;
                    item.LongStringSettings = 0;
                    item.Save();
                    item.ClearCache();
                    pageType.Definitions.Add(item);
                    PageDefinitionType.ClearCache();
                }
            }
        }
        public static void ConvertToExtensionPageType(int pageTypeID, bool updateSortOrder)
        {
            var pageType = PageType.Load(pageTypeID);

            if (!PageTypeManager.IsExtensionPageType(pageType))
            {
                PageTypeHelper.AddExtensionPageProperty(pageType);

                if (updateSortOrder)
                {
                    var source = PageTypeManager.List();
                    if ((source != null) && (source.Count > 0))
                    {
                        pageType.SortOrder = source.Last().SortOrder + 10;
                    }
                }

                pageType.IsAvailable = true;
                pageType.Save();

                //private methods for access and rules
                PageTypeHelper.SetDefaultAccessPageType(pageType.ID);
                PageTypeHelper.SetDefaultRulePageType(pageType.ID);
            }
        }
Beispiel #4
0
 public ComposerFunctionUpdater()
 {
     _functions        = ReflectionHelper.GetTypesWithAttribute(typeof(FunctionTypeAttribute)).ToList();
     _contentTypes     = PageTypeHelper.GetPageTypes(ContentFunctionTypeManager.List());
     _pageTypes        = PageTypeManager.List().Select(p => new WrappedPageType(p)).ToList();
     RulesTimer        = new System.Diagnostics.Stopwatch();
     AccessTimer       = new System.Diagnostics.Stopwatch();
     ContentAreasTimer = new System.Diagnostics.Stopwatch();
 }
        private void UpdatePageRegistration(ExtensionPageTypeAttribute pageAttribute, PageType pageType)
        {
            if (!PageTypeManager.UpdateNameAndDescription(pageAttribute.Name, pageAttribute.Description, pageType.ID))
            {
                return;
            }

            ConvertToExtensionPageType(pageType.ID, true);
        }
        private void UpdatePageRegistration(ExtensionPageTypeAttribute pageAttribute, WrappedPageType pageType)
        {
            if (pageAttribute.Name != pageType.Name || pageAttribute.Description != pageType.Description)
            {
                Logger.DebugFormat("UpdatePageRegistration name and description for {0}", pageType.ID);
                if (!PageTypeManager.UpdateNameAndDescription(pageAttribute.Name, pageAttribute.Description, pageType.ID))
                {
                    return;
                }
            }

            ConvertToExtensionPageType(pageType.ID, true);
        }
Beispiel #7
0
        public static void AddContentAreaProperty(PageType pageType, string name, string description)
        {
            Predicate <PageDefinition> match = null;

            if (pageType.Definitions.Find(def => def.Name == name) == null)
            {
                match = delegate(PageDefinition def)
                {
                    return(def.Name == name);
                };

                if (pageType.Definitions.Find(match) == null)
                {
                    var item = new PageDefinition
                    {
                        PageTypeID       = pageType.ID,
                        Name             = name,
                        EditCaption      = name,
                        HelpText         = string.IsNullOrEmpty(description) ? string.Empty : description,
                        DefaultValueType = DefaultValueType.None,
                        DefaultValue     = "",
                        Type             = PageTypeManager.ContentAreaPropertyType,
                        ID                 = 0,
                        Searchable         = true,
                        Tab                = PageTypeManager.LoadExtensionTab(),
                        DisplayEditUI      = false,
                        LanguageSpecific   = false,
                        LongStringSettings = 0
                    };
                    item.Save();
                    item.ClearCache();
                    pageType.Definitions.Add(item);
                    PageDefinitionType.ClearCache();
                }
            }
        }
Beispiel #8
0
 public ComposerFunctionUpdater()
 {
     _functions    = ReflectionHelper.GetTypesWithAttribute(typeof(FunctionTypeAttribute)).ToList();
     _contentTypes = PageTypeHelper.GetPageTypes(ContentFunctionTypeManager.List());
     _pageTypes    = PageTypeManager.List();
 }