示例#1
0
        private string GetCatalogueName(Guid searchIndexPipeId)
        {
            var searchManager = PublishingManager.GetManager(PublishingConfig.SearchProviderName);
            var pipeSettings  = searchManager.GetPipeSettings <SearchIndexPipeSettings>();
            var pipe          = pipeSettings.SingleOrDefault(p => p.Id == searchIndexPipeId);

            if (pipe != null)
            {
                if (!SystemManager.CurrentContext.IsMultisiteMode)
                {
                    return(pipe.CatalogName);
                }
                else
                {
                    var siteId = SystemManager.CurrentContext.CurrentSite.Id;

                    IList <Guid> sites;
                    if (pipe.PublishingPoint.IsSharedWithAllSites)
                    {
                        sites = MultisiteManager.GetManager().GetSites().Select(s => s.Id).ToList();
                    }
                    else
                    {
                        sites = this.GetSitesByPoint(pipe.PublishingPoint).Select(l => l.SiteId).ToList();
                    }

                    if (sites.Contains(siteId))
                    {
                        return(pipe.CatalogName);
                    }
                }
            }
            return(string.Empty);
        }
示例#2
0
        public Site Get_Site()
        {
            MultisiteManager siteMgr = MultisiteManager.GetManager();
            Site             site    = siteMgr.GetSites().Where(s => s.SiteMapRootNodeId == siteId).FirstOrDefault();

            return(site);
        }
        private void AddCanonicalTag()
        {
            var page = CurrentPage;
            var site = MultisiteManager.GetManager().GetSites().FirstOrDefault(x => x.Name == DefaultSiteName);

            if (page != null && site != null)
            {
                var link = new HtmlLink();
                link.Attributes.Add(CanonicalAttrKey, CanonicalAttrValue);
                link.Href = $"{page.Request.Url.Scheme}://{site.LiveUrl}{page.Request.Url.LocalPath}";
                if (!string.IsNullOrWhiteSpace(link.Href))
                {
                    page.Header.Controls.Add(link);
                }
            }
        }
示例#4
0
        public override void CMD_list(Arguments args, Guid rootId)
        {
            int level = args.ContainsKey("all") ? 100 : 1;

            // Top level - display the libraries for all the providers
            if (rootId == Guid.Empty)
            {
                MultisiteManager siteMgr = MultisiteManager.GetManager();
                Site             site    = svc.Get_Site();
                root = new MediaTree(this, site, level);
            }
            else
            {
                IFolder folder = libMgr.GetFolder(rootId);
                root = new MediaTree(folder, level, libMgr);
            }
        }
        public override void CMD_provider(Arguments args, Guid rootId)
        {
            List <string> providers = new List <string>();

            var dynTypes = ModuleBuilderManager.GetManager().Provider.GetDynamicModuleTypes();
            MultisiteManager msManager = MultisiteManager.GetManager();
            var links = msManager.GetSiteDataSourceLinks();

            foreach (var datalink in links.Where(l => !l.DataSourceName.StartsWith("Telerik.Sitefinity.")))
            {
                if (dynTypes.Where(mt => mt.ModuleName == datalink.DataSourceName).FirstOrDefault() != null)
                {
                    providers.Add(ProviderName(datalink.ProviderName));
                }
            }

            // Displays the list of providers
            if (args.Count == 0)
            {
                string currentProvider = ProviderName(svc.Get_Provider());
                summary = string.Join("\n", providers.Select(provider => provider + (provider == currentProvider ? " <=" : "")));
                return;
            }

            // Selects a provider
            string newProvider = providers.Where(provider => provider.ToLower() == args.FirstKey).FirstOrDefault();

            if (newProvider == null)
            {
                svc.Set_Error("Invalid provider: " + args.FirstKey);
                return;
            }

            if (rootId != Guid.Empty)
            {
                var  dynType = ModuleBuilderManager.GetManager().Provider.GetDynamicModuleType(rootId);
                Type type    = TypeResolutionService.ResolveType(dynType.GetFullTypeName());
                svc.Set_Path(newProvider + " - " + type.FullName.Substring(38));
            }
            newProvider = newProvider == "Default" ? "OpenAccessProvider" : newProvider;
            svc.Set_Provider(newProvider);
        }
示例#6
0
        public void CMD_site(Resource rsc, Arguments args)
        {
            MultisiteManager siteMgr = MultisiteManager.GetManager();

            if (args.Count > 0)
            {
                try
                {
                    siteId = new Guid(args.FirstKey);
                    var site = siteMgr.GetSites().Where(s => s.SiteMapRootNodeId == siteId);
                    Set_Site(siteId);
                    rsc.Root();
                }
                catch (Exception)
                {
                    Set_Error("Invalid site Id: " + args);
                }
            }

            output.response = string.Join(
                "\n",
                siteMgr.GetSites().Select <Telerik.Sitefinity.Multisite.Model.Site, string>(s => s.SiteMapRootNodeId + " - " + s.Name + (siteId == s.SiteMapRootNodeId ? " <=" : "")));
        }
示例#7
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();
        }
示例#8
0
        public override void CMD_list(Arguments args, Guid rootId)
        {
            MultisiteManager siteMgr = MultisiteManager.GetManager();

            summary = string.Join("\n", siteMgr.GetSites().Select <Site, string>(s => s.Id + " - " + s.Name));
        }