public List <Site> GetChildSites(string siteName) { var siteList = new List <Site>(); var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); foreach (var sitee in allSites) { var helper = new WidgetDesigners.WidgetDesignerHelper(); var parentSite = helper.GetParentSite(pageManager, sitee.SiteMapRootNodeId); var parentSiteName = ""; if (parentSite != null) { parentSiteName = parentSite.Name; } if (parentSiteName == siteName) { siteList.Add(sitee); } } return(siteList); }
public Site Get_Site() { MultisiteManager siteMgr = MultisiteManager.GetManager(); Site site = siteMgr.GetSites().Where(s => s.SiteMapRootNodeId == siteId).FirstOrDefault(); return(site); }
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); }
public List<Site> GetChildSites(string siteName) { var siteList = new List<Site>(); var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); foreach (var sitee in allSites) { var helper = new WidgetDesigners.WidgetDesignerHelper(); var parentSite = helper.GetParentSite(pageManager, sitee.SiteMapRootNodeId); var parentSiteName = ""; if (parentSite != null) parentSiteName = parentSite.Name; if (parentSiteName == siteName) { siteList.Add(sitee); } } return siteList; }
/// <summary> /// Gets all sites that are a sibling or child of 'site' /// </summary> /// <param name="siteName">The site name</param> /// <param name="myParentSiteName">The parent site</param> /// <returns></returns> public JsonResult GetSitesWithParam(string siteName, string myParentSiteName) { var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); var dropDownSites = new List <SitefinitySite>(); var i = 0; foreach (var sitee in allSites) { var helper = new WidgetDesigners.WidgetDesignerHelper(); var parentSite = helper.GetParentSite(pageManager, sitee.SiteMapRootNodeId); var parentSiteName = ""; if (parentSite != null) { parentSiteName = parentSite.Name; } if (parentSiteName == siteName || (parentSiteName == myParentSiteName && sitee.Name != siteName)) { dropDownSites.Add(new SitefinitySite(sitee.Id, sitee.Name, siteName, sitee.SiteMapRootNodeId)); i++; } } return(Json(dropDownSites, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Gets all sites that have a parent site or a sibling site /// </summary> /// <returns></returns> public JsonResult GetSites() { var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); var dropDownSites = new List <SitefinitySite>(); foreach (var site in sites.GetSites()) { var helper = new WidgetDesigners.WidgetDesignerHelper(); var parentSite = helper.GetParentSite(pageManager, site.SiteMapRootNodeId); var parentSiteName = ""; if (parentSite != null) { parentSiteName = parentSite.Name; } if (((List <SitefinitySite>)GetSitesWithParam(site.Name, parentSiteName).Data).Count != 0) { dropDownSites.Add(new SitefinitySite(site.Id, site.Name, parentSiteName, site.SiteMapRootNodeId)); } } return(Json(dropDownSites, JsonRequestBehavior.AllowGet)); }
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); } } }
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); }
/// <summary> /// Gets the parent site of the current page by using the ParentName property of the Config page /// </summary> /// <param name="pageManager">The page manager</param> /// <returns>The parent site</returns> public Site GetParentSite(PageManager pageManager, Guid siteRootNode) { var sites = new MultisiteManager(); var configPage = new PageData(); foreach (var f in pageManager.GetPageDataList()) { if (f.NavigationNode.Title.GetString(f.NavigationNode.AvailableCultures[0], false).ToLower() == "config" && !f.NavigationNode.IsDeleted && f.NavigationNode.ParentId == siteRootNode) { configPage = f; break; } } if (configPage == null) { return(null); } var parentName = configPage.Controls[0].Properties.FirstOrDefault(r => r.Name == "Settings").ChildProperties.FirstOrDefault(p => p.Name.ToLower() == "parentname"); if (parentName == null) { return(null); } var parentSiteName = parentName.Value; if (parentSiteName == "") { return(null); } var parentSite = sites.GetSites().Where(p => p.Name == parentSiteName).FirstOrDefault(); return(parentSite); }
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 ? " <=" : ""))); }
/// <summary> /// Gets all sites that are a sibling or child of 'site' /// </summary> /// <param name="siteName">The site name</param> /// <param name="myParentSiteName">The parent site</param> /// <returns></returns> public JsonResult GetSitesWithParam(string siteName, string myParentSiteName) { var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); var dropDownSites = new List<SitefinitySite>(); var i = 0; foreach(var sitee in allSites) { var helper = new WidgetDesigners.WidgetDesignerHelper(); var parentSite = helper.GetParentSite(pageManager, sitee.SiteMapRootNodeId); var parentSiteName = ""; if (parentSite != null) parentSiteName = parentSite.Name; if(parentSiteName == siteName || (parentSiteName == myParentSiteName && sitee.Name != siteName)) { dropDownSites.Add(new SitefinitySite(sitee.Id, sitee.Name, siteName, sitee.SiteMapRootNodeId)); i++; } } return Json(dropDownSites, JsonRequestBehavior.AllowGet); }
/// <summary> /// Returns the view with the model populated with pages /// </summary> public ActionResult Index() { var model = new PageCompareWidgetModel(); model.Pages = new List <SitefinityPage>(); model.Sites = new List <SitefinitySite>(); var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); Site standardSite = null; foreach (var site in sites.GetSites()) { if (allSites.ToList().IndexOf(site) == 0) { standardSite = site; } } int pageIndex = 1; foreach (var p in pageManager.GetPageDataList()) { //if (p.NavigationNode.Title.Value.ToLower() == "test" && p.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live) //{ // CultureInfo targetCultureInfo = CultureInfo.GetCultureInfo("es"); // // Set values for PageNode properties // p.NavigationNode.Title.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.NavigationNode.Description.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.NavigationNode.UrlName.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // if (p.NavigationNode.LocalizationStrategy != LocalizationStrategy.Synced) // { // // Set the pageNode LocalizationStrategy for the first method call // pageManager.InitializePageLocalizationStrategy(p.NavigationNode, LocalizationStrategy.Synced, false); // } // // Set values for PageData properties // p.HtmlTitle.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.Description.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.Keywords.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // // Publish the page // p.NavigationNode.ApprovalWorkflowState.SetString(targetCultureInfo, "Published"); // pageManager.SaveChanges(); // break; //} if (p.NavigationNode.ParentId == standardSite.SiteMapRootNodeId && !p.IsDeleted && p.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live && p.Controls != null && p.Controls.Count > 0 && p.Controls[0].Properties != null && p.Controls[0].Properties.Count > 0 && p.Controls[0].Properties.FirstOrDefault(r => r.Name == "Settings") != null) { model.Pages.Add(new SitefinityPage(pageIndex++, p.NavigationNode.Title.GetString(p.NavigationNode.AvailableCultures[0], false))); } } return(View("Default", model)); }
/// <summary> /// Returns the view with the model populated with pages /// </summary> public ActionResult Index() { var model = new PageCompareWidgetModel(); model.Pages = new List<SitefinityPage>(); model.Sites = new List<SitefinitySite>(); var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); Site standardSite = null; foreach (var site in sites.GetSites()) { if(allSites.ToList().IndexOf(site) == 0) standardSite = site; } int pageIndex = 1; foreach(var p in pageManager.GetPageDataList()) { //if (p.NavigationNode.Title.Value.ToLower() == "test" && p.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live) //{ // CultureInfo targetCultureInfo = CultureInfo.GetCultureInfo("es"); // // Set values for PageNode properties // p.NavigationNode.Title.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.NavigationNode.Description.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.NavigationNode.UrlName.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // if (p.NavigationNode.LocalizationStrategy != LocalizationStrategy.Synced) // { // // Set the pageNode LocalizationStrategy for the first method call // pageManager.InitializePageLocalizationStrategy(p.NavigationNode, LocalizationStrategy.Synced, false); // } // // Set values for PageData properties // p.HtmlTitle.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.Description.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // p.Keywords.SetString(targetCultureInfo, p.NavigationNode.Title.Value); // // Publish the page // p.NavigationNode.ApprovalWorkflowState.SetString(targetCultureInfo, "Published"); // pageManager.SaveChanges(); // break; //} if(p.NavigationNode.ParentId == standardSite.SiteMapRootNodeId && !p.IsDeleted && p.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live && p.Controls != null && p.Controls.Count > 0 && p.Controls[0].Properties != null && p.Controls[0].Properties.Count > 0 && p.Controls[0].Properties.FirstOrDefault(r => r.Name == "Settings") != null) { model.Pages.Add(new SitefinityPage(pageIndex++, p.NavigationNode.Title.GetString(p.NavigationNode.AvailableCultures[0], false))); } } return View("Default", model); }
private void PageManager_Executed(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs e) { if(e.CommandName == "CreatePageNode") { pageCreated = true; } else if (e.CommandName == "GetPageNode" && pageCreated && !skippedFirstGetPageNode) { skippedFirstGetPageNode = true; } else if(pageCreated && skippedFirstGetPageNode && e.CommandName == "GetPageNode") { pageCreated = false; skippedFirstGetPageNode = false; //var provider = sender as PageDataProvider; var pageManager = PageManager.GetManager(); //var nodes = pageManager.GetPageNodes(); var pNode = (Telerik.Sitefinity.Pages.Model.PageNode)e.Data; var p = pNode.GetPageData(); var allSites = new MultisiteManager(); var thisSite = allSites.GetSites().FirstOrDefault(s => s.SiteMapRootNodeId == new Guid(System.Web.SiteMap.RootNode.Key)); var childSites = GetChildSites(thisSite.Name); foreach (var p2 in pageManager.GetPageDataList()) { if (p2.NavigationNode.Title.GetString(p2.NavigationNode.AvailableCultures[0], false) == p.NavigationNode.Title.GetString(p.NavigationNode.AvailableCultures[0], false) && !p.NavigationNode.IsDeleted && p2.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live) { if (childSites.Any(s => s.SiteMapRootNodeId == p2.NavigationNode.ParentId)) { System.Globalization.CultureInfo targetCultureInfo = System.Globalization.CultureInfo.GetCultureInfo("es"); // Set values for PageNode properties p2.NavigationNode.Title.SetString(targetCultureInfo, "test"); p2.NavigationNode.Description.SetString(targetCultureInfo, "test"); p2.NavigationNode.UrlName.SetString(targetCultureInfo, "test"); if (p2.NavigationNode.LocalizationStrategy != Telerik.Sitefinity.Localization.LocalizationStrategy.Synced) { // Set the pageNode LocalizationStrategy for the first method call pageManager.InitializePageLocalizationStrategy(p2.NavigationNode, Telerik.Sitefinity.Localization.LocalizationStrategy.Synced, false); } // Set values for PageData properties p2.HtmlTitle.SetString(targetCultureInfo, "test"); p2.Description.SetString(targetCultureInfo, "test"); p2.Keywords.SetString(targetCultureInfo, "test"); // Publish the page p2.NavigationNode.ApprovalWorkflowState.SetString(targetCultureInfo, "Published"); pageManager.SaveChanges(); } } } } }
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)); }
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(); }
private void PageManager_Executed(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs e) { if (e.CommandName == "CreatePageNode") { pageCreated = true; } else if (e.CommandName == "GetPageNode" && pageCreated && !skippedFirstGetPageNode) { skippedFirstGetPageNode = true; } else if (pageCreated && skippedFirstGetPageNode && e.CommandName == "GetPageNode") { pageCreated = false; skippedFirstGetPageNode = false; //var provider = sender as PageDataProvider; var pageManager = PageManager.GetManager(); //var nodes = pageManager.GetPageNodes(); var pNode = (Telerik.Sitefinity.Pages.Model.PageNode)e.Data; var p = pNode.GetPageData(); var allSites = new MultisiteManager(); var thisSite = allSites.GetSites().FirstOrDefault(s => s.SiteMapRootNodeId == new Guid(System.Web.SiteMap.RootNode.Key)); var childSites = GetChildSites(thisSite.Name); foreach (var p2 in pageManager.GetPageDataList()) { if (p2.NavigationNode.Title.GetString(p2.NavigationNode.AvailableCultures[0], false) == p.NavigationNode.Title.GetString(p.NavigationNode.AvailableCultures[0], false) && !p.NavigationNode.IsDeleted && p2.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live) { if (childSites.Any(s => s.SiteMapRootNodeId == p2.NavigationNode.ParentId)) { System.Globalization.CultureInfo targetCultureInfo = System.Globalization.CultureInfo.GetCultureInfo("es"); // Set values for PageNode properties p2.NavigationNode.Title.SetString(targetCultureInfo, "test"); p2.NavigationNode.Description.SetString(targetCultureInfo, "test"); p2.NavigationNode.UrlName.SetString(targetCultureInfo, "test"); if (p2.NavigationNode.LocalizationStrategy != Telerik.Sitefinity.Localization.LocalizationStrategy.Synced) { // Set the pageNode LocalizationStrategy for the first method call pageManager.InitializePageLocalizationStrategy(p2.NavigationNode, Telerik.Sitefinity.Localization.LocalizationStrategy.Synced, false); } // Set values for PageData properties p2.HtmlTitle.SetString(targetCultureInfo, "test"); p2.Description.SetString(targetCultureInfo, "test"); p2.Keywords.SetString(targetCultureInfo, "test"); // Publish the page p2.NavigationNode.ApprovalWorkflowState.SetString(targetCultureInfo, "Published"); pageManager.SaveChanges(); } } } } }
/// <summary> /// Gets the parent site of the current page by using the ParentName property of the Config page /// </summary> /// <param name="pageManager">The page manager</param> /// <returns>The parent site</returns> public Site GetParentSite(PageManager pageManager, Guid siteRootNode) { var sites = new MultisiteManager(); var configPage = new PageData(); foreach(var f in pageManager.GetPageDataList()) { if(f.NavigationNode.Title.GetString(f.NavigationNode.AvailableCultures[0], false).ToLower() == "config" && !f.NavigationNode.IsDeleted && f.NavigationNode.ParentId == siteRootNode) { configPage = f; break; } } if (configPage == null) return null; var parentName = configPage.Controls[0].Properties.FirstOrDefault(r => r.Name == "Settings").ChildProperties.FirstOrDefault(p => p.Name.ToLower() == "parentname"); if (parentName == null) return null; var parentSiteName = parentName.Value; if (parentSiteName == "") return null; var parentSite = sites.GetSites().Where(p => p.Name == parentSiteName).FirstOrDefault(); return parentSite; }
/// <summary> /// Gets all sites that have a parent site or a sibling site /// </summary> /// <returns></returns> public JsonResult GetSites() { var pageManager = PageManager.GetManager(); var sites = new MultisiteManager(); var allSites = sites.GetSites(); var dropDownSites = new List<SitefinitySite>(); foreach (var site in sites.GetSites()) { var helper = new WidgetDesigners.WidgetDesignerHelper(); var parentSite = helper.GetParentSite(pageManager, site.SiteMapRootNodeId); var parentSiteName = ""; if (parentSite != null) parentSiteName = parentSite.Name; if (((List<SitefinitySite>)GetSitesWithParam(site.Name, parentSiteName).Data).Count != 0) dropDownSites.Add(new SitefinitySite(site.Id, site.Name, parentSiteName, site.SiteMapRootNodeId)); } return Json(dropDownSites, JsonRequestBehavior.AllowGet); }