/// <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)); }
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)); }
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); }
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 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> /// 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(); } } } } }
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; }
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)); }
/// <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> /// 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); }