示例#1
0
        public override void CMD_republish(Arguments args)
        {
            if (args.Count < 2)
            {
                CMD_help();
                return;
            }

            MultisiteManager siteMgr     = MultisiteManager.GetManager();
            Guid             siteId      = Guid.Empty;
            string           contentType = "";

            foreach (string arg in args.Keys)
            {
                try
                {
                    siteId = new Guid(arg);
                }
                catch (Exception)
                {
                    contentType = arg;
                }
            }

            if (siteId == Guid.Empty)
            {
                svc.Set_Error("Invalid Site ID");
                CMD_help();
                return;
            }

            try
            {
                site = siteMgr.GetSite(siteId);
            }
            catch (Exception)
            {
                svc.Set_Error("Invalid Site ID: " + siteId.ToString());
                return;
            }

            switch (contentType)
            {
            case "templates":
                RepublishPageTemplates();
                return;

            case "pages":
                RepublishPages();
                return;

            case "news":
                RepublishNewsItems();
                return;

            case "blogs":
                RepublishBlogPosts();
                return;

            case "events":
                RepublishEvents();
                return;

            case "media":
                RepublishMedia();
                return;

            case "lists":
                RepublishLists();
                return;

            case "forms":
                RepublishForms();
                return;

            case "contentblocks":
                RepublishContentBlocks();
                return;

            case "taxa":
                RepublishTaxonomies();
                return;

            case "dynamic":
                RepublishDynamicContent();
                return;

            case "all":
                RepublishPageTemplates();
                RepublishPages();
                RepublishNewsItems();
                RepublishBlogPosts();
                RepublishEvents();
                RepublishMedia();
                RepublishLists();
                RepublishForms();
                RepublishContentBlocks();
                RepublishTaxonomies();
                RepublishDynamicContent();
                return;
            }

            svc.Set_Error("Please set a content type to republish");
            CMD_help();
        }