private void RenderTemplateFolderItems(string folder, string folderPath, ref XmlTree tree) { string relPath = IO.SystemDirectories.Masterpages + "/" + folder; if (!string.IsNullOrEmpty(folderPath)) { relPath += folderPath; } string fullPath = IO.IOHelper.MapPath(relPath); foreach (string dir in System.IO.Directory.GetDirectories(fullPath)) { System.IO.DirectoryInfo directoryInfo = new DirectoryInfo(dir); XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.Menu.Clear(); xNode.Menu.Add(ActionRefresh.Instance); xNode.NodeID = "-1"; xNode.Text = directoryInfo.Name; xNode.HasChildren = true; xNode.Icon = "folder.gif"; xNode.OpenIcon = "folder_o.gif"; xNode.Source = GetTreeServiceUrl(directoryInfo.Name) + "&folder=" + folder + "&folderPath=" + folderPath + "/" + directoryInfo.Name; tree.Add(xNode); } foreach (string file in System.IO.Directory.GetFiles(fullPath)) { System.IO.FileInfo fileinfo = new FileInfo(file); string ext = fileinfo.Extension.ToLower().Trim('.'); XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.Menu.Clear(); xNode.Menu.Add(ActionRefresh.Instance); xNode.NodeID = "-1"; xNode.Text = Path.GetFileName(file); xNode.HasChildren = false; xNode.Action = "javascript:openScriptEditor('" + relPath + "/" + Path.GetFileName(file) + "');"; //tree.Add(xNode); switch (ext) { case "master": xNode.Icon = "settingTemplate.gif"; xNode.OpenIcon = "settingTemplate.gif"; tree.Add(xNode); break; case "css": case "js": xNode.Icon = "settingsScript.gif"; xNode.OpenIcon = "settingsScript.gif"; tree.Add(xNode); break; case "xml": if (xNode.Text == "skin.xml") { xNode.Icon = "settingXml.gif"; xNode.OpenIcon = "settingXml.gif"; tree.Add(xNode); } break; default: break; } //xNode.Source = GetTreeServiceUrl(s.Alias) + "&skin=" + skin + "&path=" + path; } }
public override void Render(ref XmlTree tree) { // Rendering the child nodes of the jobs folder if (this.NodeKey == string.Empty) { var jobsNode = XmlTreeNode.Create(this); jobsNode.NodeID = "1"; jobsNode.NodeType = string.Empty; jobsNode.Text = "Hangfire Jobs"; jobsNode.Action = "#"; jobsNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/enqueued');"; jobsNode.Icon = "~/App_Plugins/Tools/Hangfire/jobs.png"; jobsNode.HasChildren = true; TreeService treeService = new TreeService(-1, TreeAlias, ShowContextMenu, IsDialog, DialogMode, app, "HangfireJobs"); jobsNode.Source = treeService.GetServiceUrl(); OnBeforeNodeRender(ref tree, ref jobsNode, EventArgs.Empty); tree.Add(jobsNode); OnAfterNodeRender(ref tree, ref jobsNode, EventArgs.Empty); var retriesNode = XmlTreeNode.Create(this); retriesNode.NodeID = "2"; retriesNode.NodeType = string.Empty; retriesNode.Text = "Hangfire retries"; retriesNode.Action = "#"; retriesNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/retries');"; retriesNode.Icon = "~/App_Plugins/Tools/Hangfire/retries.png"; retriesNode.HasChildren = false; OnBeforeNodeRender(ref tree, ref retriesNode, EventArgs.Empty); tree.Add(retriesNode); OnAfterNodeRender(ref tree, ref retriesNode, EventArgs.Empty); var recurringNode = XmlTreeNode.Create(this); recurringNode.NodeID = "3"; recurringNode.NodeType = string.Empty; recurringNode.Text = "Hangfire recurring"; recurringNode.Action = "#"; recurringNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/recurring');"; recurringNode.Icon = "~/App_Plugins/Tools/Hangfire/recurring.png"; recurringNode.HasChildren = false; OnBeforeNodeRender(ref tree, ref recurringNode, EventArgs.Empty); tree.Add(recurringNode); OnAfterNodeRender(ref tree, ref recurringNode, EventArgs.Empty); var serversNode = XmlTreeNode.Create(this); serversNode.NodeID = "4"; serversNode.NodeType = string.Empty; serversNode.Text = "Hangfire servers"; serversNode.Action = "#"; serversNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/servers');"; serversNode.Icon = "~/App_Plugins/Tools/Hangfire/server.png"; serversNode.HasChildren = false; OnBeforeNodeRender(ref tree, ref serversNode, EventArgs.Empty); tree.Add(serversNode); OnAfterNodeRender(ref tree, ref serversNode, EventArgs.Empty); } else if (this.NodeKey == "HangfireJobs") { var enqueuedNode = XmlTreeNode.Create(this); enqueuedNode.NodeID = "5"; enqueuedNode.NodeType = string.Empty; enqueuedNode.Text = "Enqueued Jobs"; enqueuedNode.Action = "#"; enqueuedNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/enqueued');"; enqueuedNode.Icon = "~/App_Plugins/Tools/Hangfire/enqueued.png"; enqueuedNode.HasChildren = false; tree.Add(enqueuedNode); var scheduledNode = XmlTreeNode.Create(this); scheduledNode.NodeID = "5"; scheduledNode.NodeType = string.Empty; scheduledNode.Text = "Scheduled Jobs"; scheduledNode.Action = "#"; scheduledNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/scheduled');"; scheduledNode.Icon = "~/App_Plugins/Tools/Hangfire/scheduled.png"; scheduledNode.HasChildren = false; tree.Add(scheduledNode); var processingNode = XmlTreeNode.Create(this); processingNode.NodeID = "6"; processingNode.NodeType = string.Empty; processingNode.Text = "Processing Jobs"; processingNode.Action = "#"; processingNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/processing');"; processingNode.Icon = "~/App_Plugins/Tools/Hangfire/processing.png"; processingNode.HasChildren = false; tree.Add(processingNode); var succeededNode = XmlTreeNode.Create(this); succeededNode.NodeID = "7"; succeededNode.NodeType = string.Empty; succeededNode.Text = "Succeeded Jobs"; succeededNode.Action = "#"; succeededNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/succeeded');"; succeededNode.Icon = "~/App_Plugins/Tools/Hangfire/succeeded.png"; succeededNode.HasChildren = false; tree.Add(succeededNode); var failedNode = XmlTreeNode.Create(this); failedNode.NodeID = "8"; failedNode.NodeType = string.Empty; failedNode.Text = "Failed Jobs"; failedNode.Action = "#"; failedNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/failed');"; failedNode.Icon = "~/App_Plugins/Tools/Hangfire/failed.png"; failedNode.HasChildren = false; tree.Add(failedNode); var deletedNode = XmlTreeNode.Create(this); deletedNode.NodeID = "9"; deletedNode.NodeType = string.Empty; deletedNode.Text = "Deleted Jobs"; deletedNode.Action = "#"; deletedNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/deleted');"; deletedNode.Icon = "~/App_Plugins/Tools/Hangfire/deleted.png"; deletedNode.HasChildren = false; tree.Add(deletedNode); var awaitingNode = XmlTreeNode.Create(this); awaitingNode.NodeID = "10"; awaitingNode.NodeType = string.Empty; awaitingNode.Text = "Awaiting Jobs"; awaitingNode.Action = "#"; awaitingNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/hangfire/jobs/awaiting');"; awaitingNode.Icon = "~/App_Plugins/Tools/Hangfire/awaiting.png"; awaitingNode.HasChildren = false; tree.Add(awaitingNode); } }
public override void Render(ref XmlTree tree) { string bundleType = string.Empty; if (HttpContext.Current.Request.QueryString.ToString().IndexOf("bundleType=") >= 0) { bundleType = HttpContext.Current.Request.QueryString.Get("bundleType"); } if (bundleType == string.Empty) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.NodeID = "1"; xNode.NodeType = "scriptBundle"; xNode.Text = "Scripts"; xNode.Action = ""; if (CompatibilityHelper.IsVersion7OrNewer) { xNode.Icon = "icon-folder"; } else { xNode.Icon = FolderIcon; } xNode.OpenIcon = "folder_o.gif"; xNode.Source = "tree.aspx?bundleType=script&app=" + m_app + "&treeType=" + HttpContext.Current.Request.QueryString["treeType"] + "&rnd=" + Guid.NewGuid(); xNode.HasChildren = true; xNode.Menu = new List <IAction>() { umbraco.BusinessLogic.Actions.ActionNew.Instance, umbraco.BusinessLogic.Actions.ActionRefresh.Instance }; OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty); if (xNode != null) { tree.Add(xNode); OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty); } XmlTreeNode xNode2 = XmlTreeNode.Create(this); xNode2.NodeID = "2"; xNode2.NodeType = "styleBundle"; xNode2.Text = "Styles"; xNode2.Action = ""; if (CompatibilityHelper.IsVersion7OrNewer) { xNode2.Icon = "icon-folder"; } else { xNode2.Icon = FolderIcon; } xNode2.OpenIcon = "folder_o.gif"; xNode2.HasChildren = true; xNode2.Source = "tree.aspx?bundleType=style&app=" + m_app + "&treeType=" + HttpContext.Current.Request.QueryString["treeType"] + "&rnd=" + Guid.NewGuid(); xNode2.Menu = new List <IAction>() { umbraco.BusinessLogic.Actions.ActionNew.Instance, umbraco.BusinessLogic.Actions.ActionRefresh.Instance }; OnBeforeNodeRender(ref tree, ref xNode2, EventArgs.Empty); if (xNode2 != null) { tree.Add(xNode2); OnAfterNodeRender(ref tree, ref xNode2, EventArgs.Empty); } } else { var doc = XDocument.Load(HttpContext.Current.Server.MapPath(Config.BundlesConfigPath)); var bundles = doc.Descendants(bundleType + "Bundle").OrderBy(b => b.Attribute("virtualPath").Value); int id = 1; foreach (var bundleElement in bundles) { XmlTreeNode bundleNode = XmlTreeNode.Create(this); bundleNode.NodeID = bundleElement.Attribute("virtualPath").Value; bundleNode.NodeType = bundleType + "Bundle"; bundleNode.Text = bundleElement.Attribute("virtualPath").Value; bundleNode.Action = string.Format("javascript:openBundlingAndMinificationEditPage('{0}','{1}');", bundleElement.Attribute("virtualPath").Value, bundleType); if (CompatibilityHelper.IsVersion7OrNewer) { bundleNode.Icon = "icon-box"; } else { bundleNode.Icon = "../../../App_Plugins/Optimus/Icons/bundle-icon.png"; } bundleNode.OpenIcon = "../../../App_Plugins/Optimus/Icons/bundle-icon.png"; bundleNode.HasChildren = false; OnBeforeNodeRender(ref tree, ref bundleNode, EventArgs.Empty); if (bundleNode != null) { tree.Add(bundleNode); OnAfterNodeRender(ref tree, ref bundleNode, EventArgs.Empty); } id++; } } }
public override void Render(ref XmlTree tree) { XmlTreeNode node; switch (CurrentNodeType) { case StoreTreeNodeType.Stores: #region Render tree Permissions permissions = PermissionService.Instance.GetCurrentLoggedInUserPermissions(); foreach (Store store in StoreService.Instance.GetAll()) { if (permissions != null && permissions.HasPermission(StoreSpecificPermissionType.AccessStore, store.Id)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.Store, store.Id, store.Id), store.Name, Constants.TreeIcons.Store, "store", true); if (permissions.HasPermission(StoreSpecificPermissionType.AccessSettings, store.Id)) { node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditStore) + "?id=" + store.Id) + "})"; } if (permissions.HasPermission(GeneralPermissionType.CreateAndDeleteStore)) { node.Menu.Add(ActionDelete.Instance); } tree.Add(node); } } #endregion break; case StoreTreeNodeType.Store: #region Render tree permissions = PermissionService.Instance.GetCurrentLoggedInUserPermissions(); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.Orders, CurrentStoreId), CommonTerms.Orders, Constants.TreeIcons.Clipboard, "orders", true /*There is always a default order status*/); tree.Add(node); if (permissions != null && permissions.HasPermission(StoreSpecificPermissionType.AccessMarketing, CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.Campaigns, CurrentStoreId), CommonTerms.Marketing, Constants.TreeIcons.Target, "campaigns", CampaignService.Instance.GetAll(CurrentStoreId).Any()); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortCampaignsAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.GiftCards, CurrentStoreId), CommonTerms.GiftCards, Constants.TreeIcons.Certificate, "giftCards"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.GiftCardOverview) + "?storeId=" + CurrentStoreId) + "})"; node.Menu.Add(ActionNew.Instance); tree.Add(node); } if (permissions != null && permissions.HasPermission(StoreSpecificPermissionType.AccessSettings, CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.Settings, CurrentStoreId), CommonTerms.Settings, Constants.TreeIcons.Toolbox, "settings", true); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditStore) + "?id=" + CurrentStoreId) + "})"; tree.Add(node); } #endregion break; case StoreTreeNodeType.Orders: #region Render tree foreach (OrderStatus orderStatus in OrderStatusService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.OrderStatus, CurrentStoreId, orderStatus.Id), orderStatus.Name, Constants.TreeIcons.DocumentTask, "order-status"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.SearchOrders) + "?storeId=" + orderStatus.StoreId + "&orderStatusId=" + orderStatus.Id) + "})"; tree.Add(node); } #endregion break; case StoreTreeNodeType.Campaigns: #region Render tree foreach (Campaign campaign in CampaignService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.Campaign, CurrentStoreId, campaign.Id), campaign.Name, Constants.TreeIcons.TagLabel, "campaign"); if (!campaign.IsActive || (campaign.StartDate != null && campaign.StartDate > DateTime.Now) || (campaign.EndDate != null && campaign.EndDate < DateTime.Now)) { node.Style.DimNode(); } node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditCampaign) + "?id=" + campaign.Id + "&storeId=" + campaign.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.Settings: #region Render tree node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsOrderStatuses, CurrentStoreId), CommonTerms.OrderStatuses, Constants.TreeIcons.ClipboardTask, "settings-order-statuses", true); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortOrderStatusesAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsShippingMethods, CurrentStoreId), CommonTerms.ShippingMethods, Constants.TreeIcons.TruckBoxLabel, "settings-shipping-methods", ShippingMethodService.Instance.GetAll(CurrentStoreId).Any()); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortShippingMethodsAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsPaymentMethods, CurrentStoreId), CommonTerms.PaymentMethods, Constants.TreeIcons.CreditCards, "settings-payment-methods", PaymentMethodService.Instance.GetAll(CurrentStoreId).Any()); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortPaymentMethodsAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsInternationalization, CurrentStoreId), CommonTerms.Internationalization, Constants.TreeIcons.LocaleAlternate, "settings-internationalization", true); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsEmailTemplates, CurrentStoreId), CommonTerms.EmailTemplates, Constants.TreeIcons.MailStack, "settings-email-templates", EmailTemplateService.Instance.GetAll(CurrentStoreId).Any()); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortEmailTemplatesAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); #endregion break; case StoreTreeNodeType.SettingsOrderStatuses: #region Render tree foreach (OrderStatus orderStatus in OrderStatusService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsOrderStatus, CurrentStoreId, orderStatus.Id), orderStatus.Name, Constants.TreeIcons.DocumentTask, "settings-order-status"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditOrderStatus) + "?id=" + orderStatus.Id + "&storeId=" + orderStatus.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsShippingMethods: #region Render tree foreach (ShippingMethod shippingMethod in ShippingMethodService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsShippingMethod, CurrentStoreId, shippingMethod.Id), shippingMethod.Name, Constants.TreeIcons.BoxLabel, "settings-shipping-method"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditShippingMethod) + "?id=" + shippingMethod.Id + "&storeId=" + shippingMethod.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsPaymentMethods: #region Render tree foreach (PaymentMethod paymentMethod in PaymentMethodService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsPaymentMethod, CurrentStoreId, paymentMethod.Id), paymentMethod.Name, Constants.TreeIcons.CreditCard, "settings-payment-method"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditPaymentMethod) + "?id=" + paymentMethod.Id + "&storeId=" + paymentMethod.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsInternationalization: #region Render tree node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsCountries, CurrentStoreId), CommonTerms.Countries, Constants.TreeIcons.GlobeModel, "settings-countries", true /*There is always a default country*/); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new CreateAllCountriesAction()); node.Menu.Add(new SortCountriesAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsCurrencies, CurrentStoreId), CommonTerms.Currencies, Constants.TreeIcons.MoneyCoin, "settings-currencies", true /*There is always a default currency*/); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortCurrenciesAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsVatGroups, CurrentStoreId), CommonTerms.VatGroups, Constants.TreeIcons.ZoneMoney, "settings-vat-groups", true /*There is always a default vat group*/); node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortVatGroupsAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); #endregion break; case StoreTreeNodeType.SettingsCountries: #region Render tree foreach (Country country in CountryService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsCountry, CurrentStoreId, country.Id), country.Name, Constants.TreeIcons.Map, "settings-country", CountryRegionService.Instance.GetAll(CurrentStoreId, country.Id).Any()); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditCountry) + "?id=" + country.Id + "&storeId=" + country.StoreId) + "})"; node.Menu.Add(ActionNew.Instance); node.Menu.Add(new SortCountryRegionsAction()); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionDelete.Instance); node.Menu.Add(ContextMenuSeperator.Instance); node.Menu.Add(ActionRefresh.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsCountry: #region Render tree long countryId = long.Parse(NodeKey.Split(new[] { '_' }, StringSplitOptions.RemoveEmptyEntries)[2]); foreach (CountryRegion countryRegion in CountryRegionService.Instance.GetAll(CurrentStoreId, countryId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsCountryRegion, CurrentStoreId, countryRegion.Id), countryRegion.Name, Constants.TreeIcons.Map, "settings-country-region"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditCountryRegion) + "?id=" + countryRegion.Id + "&storeId=" + countryRegion.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsCurrencies: #region Render tree foreach (Currency currency in CurrencyService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsCurrency, CurrentStoreId, currency.Id), currency.Name, Constants.TreeIcons.Money, "settings-currency"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditCurrency) + "?id=" + currency.Id + "&storeId=" + currency.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsVatGroups: #region Render tree foreach (VatGroup vatGroup in VatGroupService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsVatGroup, CurrentStoreId, vatGroup.Id), vatGroup.Name, Constants.TreeIcons.Zone, "settings-vat-group"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditVatGroup) + "?id=" + vatGroup.Id + "&storeId=" + vatGroup.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; case StoreTreeNodeType.SettingsEmailTemplates: #region Render tree foreach (EmailTemplate emailTemplate in EmailTemplateService.Instance.GetAll(CurrentStoreId)) { node = CreateNode(GetNodeIdentifier(StoreTreeNodeType.SettingsEmailTemplate, CurrentStoreId, emailTemplate.Id), emailTemplate.Name, Constants.TreeIcons.Mail, "settings-email-template"); node.Action = "javascript:(function(){" + ClientTools.Scripts.ChangeContentFrameUrl(WebUtils.GetPageUrl(Constants.Pages.EditEmailTemplate) + "?id=" + emailTemplate.Id + "&storeId=" + emailTemplate.StoreId) + "})"; node.Menu.Add(ActionDelete.Instance); tree.Add(node); } #endregion break; } }
public override void Render(ref XmlTree tree) { var IndexNode = XmlTreeNode.Create(this); IndexNode.NodeID = "0"; IndexNode.NodeType = "Home"; IndexNode.Text = "Home"; IndexNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/EditorToolsHome/Index');"; IndexNode.Icon = "icon-home"; IndexNode.HasChildren = false; IndexNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref IndexNode, EventArgs.Empty); if (IndexNode != null) { tree.Add(IndexNode); OnAfterNodeRender(ref tree, ref IndexNode, EventArgs.Empty); } var UsersNode = XmlTreeNode.Create(this); UsersNode.NodeID = "1"; UsersNode.NodeType = "Users"; UsersNode.Text = "Users"; UsersNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Users/Index');"; UsersNode.Icon = "icon-users"; UsersNode.HasChildren = false; UsersNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref UsersNode, EventArgs.Empty); if (UsersNode != null) { tree.Add(UsersNode); OnAfterNodeRender(ref tree, ref UsersNode, EventArgs.Empty); } var ContentToolsNode = XmlTreeNode.Create(this); ContentToolsNode.NodeID = "2"; ContentToolsNode.NodeType = "ContentTools"; ContentToolsNode.Text = "Content"; ContentToolsNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Content/Index');"; ContentToolsNode.Icon = "icon-document"; ContentToolsNode.HasChildren = false; ContentToolsNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref ContentToolsNode, EventArgs.Empty); if (ContentToolsNode != null) { tree.Add(ContentToolsNode); OnAfterNodeRender(ref tree, ref ContentToolsNode, EventArgs.Empty); } var MediaToolsNode = XmlTreeNode.Create(this); MediaToolsNode.NodeID = "3"; MediaToolsNode.NodeType = "MediaTools"; MediaToolsNode.Text = "Media"; MediaToolsNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Media/Index');"; MediaToolsNode.Icon = "icon-umb-media"; MediaToolsNode.HasChildren = false; MediaToolsNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref MediaToolsNode, EventArgs.Empty); if (MediaToolsNode != null) { tree.Add(MediaToolsNode); OnAfterNodeRender(ref tree, ref MediaToolsNode, EventArgs.Empty); } var PageExpiryNode = XmlTreeNode.Create(this); PageExpiryNode.NodeID = "4"; PageExpiryNode.NodeType = "PageExpiry"; PageExpiryNode.Text = "Page Expiry"; PageExpiryNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/PageExpiry/Index');"; PageExpiryNode.Icon = "icon-timer"; PageExpiryNode.HasChildren = false; PageExpiryNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref PageExpiryNode, EventArgs.Empty); if (PageExpiryNode != null) { tree.Add(PageExpiryNode); OnAfterNodeRender(ref tree, ref PageExpiryNode, EventArgs.Empty); } var ExpiryBulkUpdateNode = XmlTreeNode.Create(this); ExpiryBulkUpdateNode.NodeID = "5"; ExpiryBulkUpdateNode.NodeType = "ExpiryBulkUpdate"; ExpiryBulkUpdateNode.Text = "Bulk Update Expiry Dates"; ExpiryBulkUpdateNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/ExpiryBulkUpdate/Index');"; ExpiryBulkUpdateNode.Icon = "icon-timer"; ExpiryBulkUpdateNode.HasChildren = false; ExpiryBulkUpdateNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref ExpiryBulkUpdateNode, EventArgs.Empty); if (ExpiryBulkUpdateNode != null) { tree.Add(ExpiryBulkUpdateNode); OnAfterNodeRender(ref tree, ref ExpiryBulkUpdateNode, EventArgs.Empty); } var ExamineSearchNode = XmlTreeNode.Create(this); ExamineSearchNode.NodeID = "6"; ExamineSearchNode.NodeType = "ExamineSearch"; ExamineSearchNode.Text = "Search"; ExamineSearchNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/ExamineSearch/Index');"; ExamineSearchNode.Icon = "icon-search"; ExamineSearchNode.HasChildren = false; ExamineSearchNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref ExamineSearchNode, EventArgs.Empty); if (ExamineSearchNode != null) { tree.Add(ExamineSearchNode); OnAfterNodeRender(ref tree, ref ExamineSearchNode, EventArgs.Empty); } var CSVExportNode = XmlTreeNode.Create(this); CSVExportNode.NodeID = "7"; CSVExportNode.NodeType = "CSVExport"; CSVExportNode.Text = "CSV Export"; CSVExportNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/CSVExport/Index');"; CSVExportNode.Icon = "icon-download-alt"; CSVExportNode.HasChildren = false; CSVExportNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref CSVExportNode, EventArgs.Empty); if (CSVExportNode != null) { tree.Add(CSVExportNode); OnAfterNodeRender(ref tree, ref CSVExportNode, EventArgs.Empty); } var InBoundLinkCheckerNode = XmlTreeNode.Create(this); InBoundLinkCheckerNode.NodeID = "8"; InBoundLinkCheckerNode.NodeType = "InBoundLinkChecker"; InBoundLinkCheckerNode.Text = "What Links Where?"; InBoundLinkCheckerNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/InBoundLinkChecker/Index');"; InBoundLinkCheckerNode.Icon = "icon-return-to-top"; InBoundLinkCheckerNode.HasChildren = false; InBoundLinkCheckerNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref InBoundLinkCheckerNode, EventArgs.Empty); if (InBoundLinkCheckerNode != null) { tree.Add(InBoundLinkCheckerNode); OnAfterNodeRender(ref tree, ref InBoundLinkCheckerNode, EventArgs.Empty); } var MultiMoveNode = XmlTreeNode.Create(this); MultiMoveNode.NodeID = "9"; MultiMoveNode.NodeType = "MultiMove"; MultiMoveNode.Text = "Multi Page Mover"; MultiMoveNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/MultiMove/Index');"; MultiMoveNode.Icon = "icon-nodes"; MultiMoveNode.HasChildren = false; MultiMoveNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref MultiMoveNode, EventArgs.Empty); if (MultiMoveNode != null) { tree.Add(MultiMoveNode); OnAfterNodeRender(ref tree, ref MultiMoveNode, EventArgs.Empty); } var StatsNode = XmlTreeNode.Create(this); StatsNode.NodeID = "10"; StatsNode.NodeType = "Stats"; StatsNode.Text = "Statistics"; StatsNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Stats/Index');"; StatsNode.Icon = "icon-info"; StatsNode.HasChildren = false; StatsNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref StatsNode, EventArgs.Empty); if (StatsNode != null) { tree.Add(StatsNode); OnAfterNodeRender(ref tree, ref StatsNode, EventArgs.Empty); } }
public override void Render(ref XmlTree tree) { string FilePath = TranslatorType == Enums.TranslatorType.StyleSheet ? "/css/" : "/scripts/"; string orgPath = String.Empty; string path = String.Empty; if (!string.IsNullOrEmpty(this.NodeKey)) { orgPath = this.NodeKey; path = IOHelper.MapPath(FilePath + orgPath); orgPath += "/"; } else { path = IOHelper.MapPath(FilePath); } DirectoryInfo dirInfo = new DirectoryInfo(path); DirectoryInfo[] dirInfos = dirInfo.GetDirectories(); var allowedExts = new Translation.Core().GetPossibleExtensions(TranslatorType).ToArray(); var args = new TreeEventArgs(tree); OnBeforeTreeRender(dirInfo, args); foreach (DirectoryInfo dir in dirInfos) { if ((dir.Attributes & FileAttributes.Hidden) == 0) { XmlTreeNode xDirNode = XmlTreeNode.Create(this); xDirNode.NodeID = orgPath + dir.Name; xDirNode.NodeType = TranslatorType == Enums.TranslatorType.StyleSheet ? "initstylesheetsNew" : "initscriptsNew"; xDirNode.Menu = new List <IAction>(new IAction[] { ActionDelete.Instance, ContextMenuSeperator.Instance, ActionNew.Instance, ContextMenuSeperator.Instance, ActionRefresh.Instance }); xDirNode.Text = dir.Name; xDirNode.Source = GetTreeServiceUrl(orgPath + dir.Name); if (CompatibilityHelper.IsVersion7OrNewer) { xDirNode.Icon = "icon-folder"; } else { xDirNode.Icon = FolderIcon; } xDirNode.OpenIcon = FolderIconOpen; xDirNode.HasChildren = dir.GetFiles().Length > 0 || dir.GetDirectories().Length > 0; xDirNode.Action = "#"; OnRenderFolderNode(ref xDirNode); OnBeforeNodeRender(ref tree, ref xDirNode, EventArgs.Empty); if (xDirNode != null) { tree.Add(xDirNode); OnAfterNodeRender(ref tree, ref xDirNode, EventArgs.Empty); } } } FileInfo[] fileInfo = dirInfo.GetFiles("*.*"); foreach (FileInfo file in fileInfo) { if ((file.Attributes & FileAttributes.Hidden) == 0 && allowedExts.Contains(file.Extension)) { XmlTreeNode xFileNode = XmlTreeNode.Create(this); xFileNode.NodeID = orgPath + file.Name; xFileNode.Text = file.Name; xFileNode.Icon = new Optimus.Translation.Core().GetTranslatorTreeIconPath(file.Name); xFileNode.OpenIcon = "doc.gif"; xFileNode.Menu = new List <IAction> { ActionDelete.Instance }; xFileNode.NodeType = TranslatorType == Enums.TranslatorType.StyleSheet ? "initstylesheetsNew" : "initscriptsNew"; if (string.IsNullOrEmpty(xFileNode.Action)) { if (orgPath != string.Empty) { xFileNode.Action = TranslatorType == Enums.TranslatorType.StyleSheet ? "javascript:openDyanmicCSSFileEditor('" + orgPath + file.Name + "', 'false');" : "javascript:openDyanmicScriptFileEditor('" + orgPath + file.Name + "', 'false');"; } else { xFileNode.Action = TranslatorType == Enums.TranslatorType.StyleSheet ? "javascript:openDyanmicCSSFileEditor('" + file.Name + "', 'false');" : "javascript:openDyanmicScriptFileEditor('" + file.Name + "', 'false');"; } } OnRenderFileNode(ref xFileNode); OnBeforeNodeRender(ref tree, ref xFileNode, EventArgs.Empty); if (xFileNode != null) { tree.Add(xFileNode); OnAfterNodeRender(ref tree, ref xFileNode, EventArgs.Empty); } } } OnAfterTreeRender(dirInfo, args); }
public override void Render(ref XmlTree tree) { _packageType = HttpContext.Current.Request.QueryString["packageType"]; switch (_packageType) { case "installed": Version v; // Display the unique packages, ordered by the latest version number. [LK 2013-06-10] var uniquePackages = InstalledPackage.GetAllInstalledPackages() .OrderByDescending(x => Version.TryParse(x.Data.Version, out v) ? v : new Version()) .GroupBy(x => x.Data.Name) .Select(x => x.First()) .OrderBy(x => x.Data.Name); foreach (var p in uniquePackages) { var xNode = XmlTreeNode.Create(this); xNode.NodeID = string.Concat(PACKAGE_TREE_PREFIX, p.Data.Id); xNode.Text = p.Data.Name; xNode.Action = string.Format("javascript:openInstalledPackage('{0}');", p.Data.Id); xNode.Icon = "icon-box"; xNode.OpenIcon = "icon-box"; xNode.NodeType = "createdPackageInstance"; tree.Add(xNode); } break; case "created": foreach (CreatedPackage p in CreatedPackage.GetAllCreatedPackages()) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.NodeID = PACKAGE_TREE_PREFIX + p.Data.Id.ToString(); xNode.Text = p.Data.Name; xNode.Action = "javascript:openCreatedPackage('" + p.Data.Id.ToString() + "');"; xNode.Icon = "icon-box"; xNode.OpenIcon = "icon-box"; xNode.NodeType = "createdPackageInstance"; xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionDelete.Instance); tree.Add(xNode); } break; case "repositories": List <cms.businesslogic.packager.repositories.Repository> repos = cms.businesslogic.packager.repositories.Repository.getAll(); foreach (cms.businesslogic.packager.repositories.Repository repo in repos) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.Text = repo.Name; xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repo.Guid + "');"; xNode.Icon = "icon-server-alt"; xNode.OpenIcon = "icon-server-alt"; xNode.NodeType = "packagesRepo" + repo.Guid; xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionRefresh.Instance); xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repo.Guid + "&rnd=" + Guid.NewGuid(); tree.Add(xNode); } break; case "repository": _repoGuid = HttpContext.Current.Request.QueryString["repoGuid"]; Umbraco.Web.org.umbraco.our.Repository r = new Umbraco.Web.org.umbraco.our.Repository(); foreach (var cat in r.Categories(_repoGuid)) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.NodeID = cat.Id.ToInvariantString(); xNode.Text = cat.Text; xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?category=" + cat.Id + "&repoGuid=" + _repoGuid + "');"; xNode.Icon = "icon-folder"; xNode.OpenIcon = "icon-folder"; xNode.NodeType = "packagesCategory" + cat.Id; tree.Add(xNode); } break; } }
public override void Render(ref XmlTree tree) { m_packageType = HttpContext.Current.Request.QueryString["packageType"]; switch (m_packageType) { case "installed": foreach (cms.businesslogic.packager.InstalledPackage p in cms.businesslogic.packager.InstalledPackage.GetAllInstalledPackages()) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.NodeID = PACKAGE_TREE_PREFIX + p.Data.Id.ToString(); xNode.Text = p.Data.Name; xNode.Action = "javascript:openInstalledPackage('" + p.Data.Id.ToString() + "');"; xNode.Icon = "package.gif"; xNode.OpenIcon = "package.gif"; xNode.NodeType = "createdPackageInstance"; xNode.Menu = null; tree.Add(xNode); } break; case "created": foreach (cms.businesslogic.packager.CreatedPackage p in cms.businesslogic.packager.CreatedPackage.GetAllCreatedPackages()) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.NodeID = PACKAGE_TREE_PREFIX + p.Data.Id.ToString(); xNode.Text = p.Data.Name; xNode.Action = "javascript:openCreatedPackage('" + p.Data.Id.ToString() + "');"; xNode.Icon = "package.gif"; xNode.OpenIcon = "package.gif"; xNode.NodeType = "createdPackageInstance"; // xNode.Menu.Add( umbraco.BusinessLogic.Actions.ActionDelete.Instance ); tree.Add(xNode); } break; case "repositories": List <cms.businesslogic.packager.repositories.Repository> repos = cms.businesslogic.packager.repositories.Repository.getAll(); foreach (cms.businesslogic.packager.repositories.Repository repo in repos) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.Text = repo.Name; xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repo.Guid + "');"; xNode.Icon = "repository.gif"; xNode.OpenIcon = "repository.gif"; xNode.NodeType = "packagesRepo" + repo.Guid; xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionRefresh.Instance); xNode.Source = "tree.aspx?app=" + this.m_app + "&id=" + this.m_id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repo.Guid + "&rnd=" + Guid.NewGuid(); tree.Add(xNode); /* * XmlElement catElement = Tree.CreateElement("tree"); * catElement.SetAttribute("text", repo.Name); * catElement.SetAttribute("menu", "L"); * * catElement.SetAttribute("icon", "repository.gif"); * catElement.SetAttribute("openIcon", "repository.gif"); * * catElement.SetAttribute("nodeType", "packagesRepo" + repo.Guid); * catElement.SetAttribute("src", "tree.aspx?app=" + this.m_app + "&id=" + this.m_id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repo.Guid + "&rnd=" + Guid.NewGuid()); * catElement.SetAttribute("action", "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repo.Guid + "');"); * root.AppendChild(catElement); * */ } break; case "repository": m_repoGuid = HttpContext.Current.Request.QueryString["repoGuid"]; cms.businesslogic.packager.repositories.Repository currentRepo = cms.businesslogic.packager.repositories.Repository.getByGuid(m_repoGuid); if (currentRepo != null) { foreach (cms.businesslogic.packager.repositories.Category cat in currentRepo.Webservice.Categories(currentRepo.Guid)) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.Text = cat.Text; xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?category=" + cat.Id + "&repoGuid=" + currentRepo.Guid + "');"; xNode.Icon = "folder.gif"; xNode.OpenIcon = "folder.gif"; xNode.NodeType = "packagesCategory" + cat.Id; tree.Add(xNode); /* * XmlElement catElement = Tree.CreateElement("tree"); * catElement.SetAttribute("text", cat.Text); * //catElement.SetAttribute("menu", ""); * catElement.SetAttribute("icon", "folder.gif"); * catElement.SetAttribute("openIcon", "folder_o.gif"); * catElement.SetAttribute("nodeType", "packagesCategory" + cat.Id); * catElement.SetAttribute("action", "javascript:openPackageCategory('BrowseRepository.aspx?category=" + cat.Id + "&repoGuid=" + currentRepo.Guid + "');"); * root.AppendChild(catElement);*/ } } break; } }
protected void TopLevelNodes(ref XmlTree tree) { string orgPath = string.Empty; string path = string.Empty; string FilePath = TranslatorType == Enums.TranslatorType.StyleSheet ? "/css/" : "/scripts/"; path = IOHelper.MapPath(FilePath); DirectoryInfo dirInfo = new DirectoryInfo(path); DirectoryInfo[] dirInfos = dirInfo.GetDirectories(); var args = new TreeEventArgs(tree); OnBeforeTreeRender(dirInfo, args); //Loop through files var fileInfo = dirInfo.GetFilesByExtensions(new Translation.Core().GetPossibleExtensions(TranslatorType).ToArray()); foreach (FileInfo file in fileInfo) { if ((file.Attributes & FileAttributes.Hidden) == 0) { XmlTreeNode xFileNode = XmlTreeNode.Create(this); xFileNode.NodeID = orgPath + file.Name; xFileNode.Text = file.Name; xFileNode.OpenIcon = "doc.gif"; xFileNode.Menu = new List <IAction> { ActionDelete.Instance }; xFileNode.NodeType = TranslatorType == Enums.TranslatorType.StyleSheet ? "initstylesheetsNew" : "initscriptsNew"; xFileNode.Icon = new Optimus.Translation.Core().GetTranslatorTreeIconPath(file.Name); ////Check for compiled version of file //var fileName = file.FullName.TrimStart('/'); //var staticFileName = fileName.Replace(".scss", ".css").Replace(".sass", ".css").Replace(".less", ".css"); ////Check if compileFileName exists //if (System.IO.File.Exists(staticFileName)) //{ // //Add a child node to the current node to display the static CSS file // xFileNode.HasChildren = true; // var functionToCall = "javascript:openDyanmicCSSFileEditor('" + orgPath + staticFileName + "', true')"; // var nodeSourceURL = TreeUrlGenerator.GetServiceUrl(-1, "stylesheetsNew", false, false, "settings", orgPath + staticFileName, functionToCall); // xFileNode.Source = nodeSourceURL; //} //CSS Action link... //Only run/set an action if it's empty (as in not been set above as static/compiled file) if (string.IsNullOrEmpty(xFileNode.Action)) { if (orgPath != string.Empty) { xFileNode.Action = TranslatorType == Enums.TranslatorType.StyleSheet ? "javascript:openDyanmicCSSFileEditor('" + orgPath + file.Name + "', false');" : "javascript:openDyanmicScriptFileEditor('" + orgPath + file.Name + "', false');";; } else { xFileNode.Action = TranslatorType == Enums.TranslatorType.StyleSheet ? "javascript:openDyanmicCSSFileEditor('" + file.Name + "', 'false');" : "javascript:openDyanmicScriptFileEditor('" + file.Name + "', 'false');";; } } //OnRenderFileNode(ref xFileNode); OnBeforeNodeRender(ref tree, ref xFileNode, EventArgs.Empty); if (xFileNode != null) { tree.Add(xFileNode); OnAfterNodeRender(ref tree, ref xFileNode, EventArgs.Empty); } } } //After TREE Rendering OnAfterTreeRender(dirInfo, args); }
public override void Render(ref XmlTree tree) { var UsersNode = XmlTreeNode.Create(this); UsersNode.NodeID = "0"; UsersNode.NodeType = "Users"; UsersNode.Text = "Users"; UsersNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Users/Index');"; UsersNode.Icon = "icon-users"; UsersNode.HasChildren = false; UsersNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref UsersNode, EventArgs.Empty); if (UsersNode != null) { tree.Add(UsersNode); OnAfterNodeRender(ref tree, ref UsersNode, EventArgs.Empty); } var ContentToolsNode = XmlTreeNode.Create(this); ContentToolsNode.NodeID = "1"; ContentToolsNode.NodeType = "ContentTools"; ContentToolsNode.Text = "Content"; ContentToolsNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Content/Index');"; ContentToolsNode.Icon = "icon-document"; ContentToolsNode.HasChildren = false; ContentToolsNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref ContentToolsNode, EventArgs.Empty); if (ContentToolsNode != null) { tree.Add(ContentToolsNode); OnAfterNodeRender(ref tree, ref ContentToolsNode, EventArgs.Empty); } var MediaToolsNode = XmlTreeNode.Create(this); MediaToolsNode.NodeID = "2"; MediaToolsNode.NodeType = "MediaTools"; MediaToolsNode.Text = "Media"; MediaToolsNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/Media/Index');"; MediaToolsNode.Icon = "icon-umb-media"; MediaToolsNode.HasChildren = false; MediaToolsNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref MediaToolsNode, EventArgs.Empty); if (MediaToolsNode != null) { tree.Add(MediaToolsNode); OnAfterNodeRender(ref tree, ref MediaToolsNode, EventArgs.Empty); } var PageExpiryNode = XmlTreeNode.Create(this); PageExpiryNode.NodeID = "3"; PageExpiryNode.NodeType = "PageExpiry"; PageExpiryNode.Text = "Page Expiry"; PageExpiryNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/PageExpiry/Index');"; PageExpiryNode.Icon = "icon-timer"; PageExpiryNode.HasChildren = false; PageExpiryNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref PageExpiryNode, EventArgs.Empty); if (PageExpiryNode != null) { tree.Add(PageExpiryNode); OnAfterNodeRender(ref tree, ref PageExpiryNode, EventArgs.Empty); } var ExpiryBulkUpdateNode = XmlTreeNode.Create(this); ExpiryBulkUpdateNode.NodeID = "4"; ExpiryBulkUpdateNode.NodeType = "ExpiryBulkUpdate"; ExpiryBulkUpdateNode.Text = "Bulk Update Expiry Dates"; ExpiryBulkUpdateNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/ExpiryBulkUpdate/Index');"; ExpiryBulkUpdateNode.Icon = "icon-timer"; ExpiryBulkUpdateNode.HasChildren = false; ExpiryBulkUpdateNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref ExpiryBulkUpdateNode, EventArgs.Empty); if (ExpiryBulkUpdateNode != null) { tree.Add(ExpiryBulkUpdateNode); OnAfterNodeRender(ref tree, ref ExpiryBulkUpdateNode, EventArgs.Empty); } var CSVExportNode = XmlTreeNode.Create(this); CSVExportNode.NodeID = "5"; CSVExportNode.NodeType = "CSVExport"; CSVExportNode.Text = "CSV Export"; CSVExportNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/CSVExport/Index');"; CSVExportNode.Icon = "icon-download-alt"; CSVExportNode.HasChildren = false; CSVExportNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref CSVExportNode, EventArgs.Empty); if (CSVExportNode != null) { tree.Add(CSVExportNode); OnAfterNodeRender(ref tree, ref CSVExportNode, EventArgs.Empty); } var MultiMoveNode = XmlTreeNode.Create(this); MultiMoveNode.NodeID = "6"; MultiMoveNode.NodeType = "MultiMove"; MultiMoveNode.Text = "Multi Page Mover"; MultiMoveNode.Action = "javascript:openPage('/umbraco/backoffice/Plugins/MultiMove/Index');"; MultiMoveNode.Icon = "icon-nodes"; MultiMoveNode.HasChildren = false; MultiMoveNode.Menu = new List <IAction>(); OnBeforeNodeRender(ref tree, ref MultiMoveNode, EventArgs.Empty); if (MultiMoveNode != null) { tree.Add(MultiMoveNode); OnAfterNodeRender(ref tree, ref MultiMoveNode, EventArgs.Empty); } }
/// <summary> /// Renders the specified tree item. /// </summary> /// <param name="tree">The tree.</param> public override void Render(ref XmlTree tree) { string[,] items = { { "BrowseRepository.aspx", "Install from repository" }, { "CreatePackage.aspx", "Created Packages" }, { "installedPackages.aspx", "Installed packages" }, { "StarterKits.aspx", "Starter kit" }, { "installer.aspx", "Install local package" } }; for (var i = 0; i <= items.GetUpperBound(0); i++) { var xNode = XmlTreeNode.Create(this); xNode.NodeID = (i + 1).ToInvariantString(); xNode.Text = items[i, 1]; xNode.Icon = "icon-folder"; xNode.OpenIcon = "icon-folder"; //Make sure the different sections load the correct childnodes. switch (items[i, 0]) { case "installedPackages.aspx": if (cms.businesslogic.packager.InstalledPackage.GetAllInstalledPackages().Count > 0) { xNode.Source = $"tree.aspx?app={_app}&id={_id}&treeType=packagerPackages&packageType=installed&rnd={Guid.NewGuid()}"; xNode.NodeType = "installedPackages"; xNode.Text = ui.Text("treeHeaders", "installedPackages"); xNode.HasChildren = true; } else { xNode.Text = ""; } xNode.Action = "javascript:void(0);"; break; case "BrowseRepository.aspx": xNode.Text = Constants.PackageRepository.DefaultRepositoryName; xNode.Source = $"tree.aspx?app={_app}&id={_id}&treeType=packagerPackages&packageType=repository&repoGuid={Constants.PackageRepository.DefaultRepositoryId}&rnd={Guid.NewGuid()}"; xNode.NodeType = "packagesRepository"; xNode.Action = $"javascript:openPackageCategory(\'BrowseRepository.aspx?repoGuid={Constants.PackageRepository.DefaultRepositoryId}\');"; xNode.Icon = "icon-server-alt"; xNode.HasChildren = true; break; case "CreatePackage.aspx": xNode.Source = $"tree.aspx?app={_app}&id={_id}&treeType=packagerPackages&packageType=created&rnd={Guid.NewGuid()}"; xNode.NodeType = "createdPackages"; xNode.Menu.Clear(); xNode.Menu.Add(BusinessLogic.Actions.ActionNew.Instance); xNode.Menu.Add(BusinessLogic.Actions.ActionRefresh.Instance); xNode.Text = ui.Text("treeHeaders", "createdPackages"); xNode.HasChildren = true; xNode.Action = "javascript:void(0);"; break; case "installer.aspx": xNode.Source = ""; xNode.NodeType = "uploadPackage"; xNode.Icon = "icon-page-up"; xNode.Action = $"javascript:openPackageCategory(\'{items[i, 0]}\');"; xNode.Text = ui.Text("treeHeaders", "localPackage"); xNode.Menu.Clear(); break; case "StarterKits.aspx": xNode.Source = ""; xNode.NodeType = "starterKits"; xNode.Action = $"javascript:openPackageCategory(\'{items[i, 0]}\');"; xNode.Icon = "icon-flash"; xNode.Text = ui.Text("treeHeaders", "installStarterKit"); xNode.Menu.Clear(); break; default: break; } if (xNode.Text != "") { tree.Add(xNode); } } }
/// <summary> /// create FALM Housekeeping children nodes /// </summary> /// <param name="tree"></param> public override void Render(ref XmlTree tree) { switch (this.NodeKey) { case "": default: // Create tree node LOGS to view a content node xml var treeLogs = XmlTreeNode.Create(this); treeLogs.NodeID = "Logs"; treeLogs.Text = "Logs"; treeLogs.Icon = FolderIcon; treeLogs.OpenIcon = FolderIconOpen; treeLogs.Source = this.GetTreeServiceUrl("Logs"); tree.Add(treeLogs); // Create tree node MEDIA to view a content node xml var treeMedia = XmlTreeNode.Create(this); treeMedia.NodeID = "Media"; treeMedia.Text = "Media"; treeMedia.Icon = FolderIcon; treeMedia.OpenIcon = FolderIconOpen; treeMedia.Source = this.GetTreeServiceUrl("Media"); tree.Add(treeMedia); // Create tree node USERS to view a content node xml var treeUsers = XmlTreeNode.Create(this); treeUsers.NodeID = "Users"; treeUsers.Text = "Users"; treeUsers.Icon = FolderIcon; treeUsers.OpenIcon = FolderIconOpen; treeUsers.Source = this.GetTreeServiceUrl("Users"); tree.Add(treeUsers); // Create tree node VERSIONS to view a content node xml var treeVersions = XmlTreeNode.Create(this); treeVersions.NodeID = "Versions"; treeVersions.Text = "Versions"; treeVersions.Icon = FolderIcon; treeVersions.OpenIcon = FolderIconOpen; treeVersions.Source = this.GetTreeServiceUrl("Versions"); tree.Add(treeVersions); break; case "Logs": var xNodeShowLogs = XmlTreeNode.Create(this); xNodeShowLogs.NodeID = "Show Logs"; xNodeShowLogs.Text = "Show Logs"; xNodeShowLogs.Icon = "FALMHousekeeping/logs_viewer.gif"; xNodeShowLogs.OpenIcon = "FALMHousekeeping/logs_viewer.gif"; xNodeShowLogs.Action = "javascript:openHouseKeeping('logs/showLogs.aspx?action=showlogs');"; tree.Add(xNodeShowLogs); var xNodeCleanupLogs = XmlTreeNode.Create(this); xNodeCleanupLogs.NodeID = "Cleanup Logs"; xNodeCleanupLogs.Text = "Cleanup Logs"; xNodeCleanupLogs.Icon = "FALMHousekeeping/logs_cleanup.gif"; xNodeCleanupLogs.OpenIcon = "FALMHousekeeping/logs_cleanup.gif"; xNodeCleanupLogs.Action = "javascript:openHouseKeeping('logs/cleanupLogs.aspx?action=cleanuplogs');"; tree.Add(xNodeCleanupLogs); break; case "Media": var xNodeMediaCleanupFileSystem = XmlTreeNode.Create(this); xNodeMediaCleanupFileSystem.NodeID = "Cleanup File System"; xNodeMediaCleanupFileSystem.Text = "Cleanup File System"; xNodeMediaCleanupFileSystem.Icon = "FALMHousekeeping/media_folder_cleanup.gif"; xNodeMediaCleanupFileSystem.OpenIcon = "FALMHousekeeping/media_folder_cleanup.gif"; xNodeMediaCleanupFileSystem.Action = "javascript:openHouseKeeping('media/cleanupMediaFS.aspx?action=media');"; tree.Add(xNodeMediaCleanupFileSystem); break; case "Users": var xNodeDeleteUsers = XmlTreeNode.Create(this); xNodeDeleteUsers.NodeID = "Delete Users"; xNodeDeleteUsers.Text = "Delete Users"; xNodeDeleteUsers.Icon = "FALMHousekeeping/users_delete.gif"; xNodeDeleteUsers.OpenIcon = "FALMHousekeeping/users_delete.gif"; xNodeDeleteUsers.Action = "javascript:openHouseKeeping('users/deleteUsersBySelection.aspx?action=users');"; tree.Add(xNodeDeleteUsers); break; case "Versions": XmlTreeNode xNodeShowVersions = XmlTreeNode.Create(this); xNodeShowVersions.NodeID = "Show Versions"; xNodeShowVersions.Text = "Show Versions"; xNodeShowVersions.Icon = "FALMHousekeeping/versions_view.gif"; xNodeShowVersions.OpenIcon = "FALMHousekeeping/versions_view.gif"; xNodeShowVersions.Action = "javascript:openHouseKeeping('versions/showVersions.aspx?action=showversions');"; tree.Add(xNodeShowVersions); XmlTreeNode xNodeVersionsCleanupByCount = XmlTreeNode.Create(this); xNodeVersionsCleanupByCount.NodeID = "Cleanup by Count"; xNodeVersionsCleanupByCount.Text = "Cleanup by Count"; xNodeVersionsCleanupByCount.Icon = "FALMHousekeeping/versions_cleanup.gif"; xNodeVersionsCleanupByCount.OpenIcon = "FALMHousekeeping/versions_cleanup.gif"; xNodeVersionsCleanupByCount.Action = "javascript:openHouseKeeping('versions/cleanupVersionsByCount.aspx?action=cleanupversionsbycount');"; tree.Add(xNodeVersionsCleanupByCount); XmlTreeNode xNodeVersionsCleanupByDate = XmlTreeNode.Create(this); xNodeVersionsCleanupByDate.NodeID = "Cleanup by Date"; xNodeVersionsCleanupByDate.Text = "Cleanup by Date"; xNodeVersionsCleanupByDate.Icon = "FALMHousekeeping/versions_cleanup.gif"; xNodeVersionsCleanupByDate.OpenIcon = "FALMHousekeeping/versions_cleanup.gif"; xNodeVersionsCleanupByDate.Action = "javascript:openHouseKeeping('versions/cleanupVersionsByDate.aspx?action=cleanupversionsbydate');"; tree.Add(xNodeVersionsCleanupByDate); break; } }
/// <summary> /// Renders the specified tree item. /// </summary> /// <param name="tree">The tree.</param> public override void Render(ref XmlTree tree) { string[,] items = { { "BrowseRepository.aspx", "Install from repository" }, { "CreatePackage.aspx", "Created Packages" }, { "installedPackages.aspx", "Installed packages" }, { "StarterKits.aspx", "Starter kit" }, { "installer.aspx", "Install local package" } }; for (int i = 0; i <= items.GetUpperBound(0); i++) { XmlTreeNode xNode = XmlTreeNode.Create(this); xNode.NodeID = (i + 1).ToInvariantString(); xNode.Text = items[i, 1]; xNode.Icon = "icon-folder"; xNode.OpenIcon = "icon-folder"; //Make sure the different sections load the correct childnodes. switch (items[i, 0]) { case "installedPackages.aspx": if (cms.businesslogic.packager.InstalledPackage.GetAllInstalledPackages().Count > 0) { xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=installed" + "&rnd=" + Guid.NewGuid(); xNode.NodeType = "installedPackages"; xNode.Text = ui.Text("treeHeaders", "installedPackages"); xNode.HasChildren = true; } else { xNode.Text = ""; } xNode.Action = "javascript:void(0);"; break; case "BrowseRepository.aspx": /* * //Gets all the repositories registered in umbracoSettings.config * var repos = cms.businesslogic.packager.repositories.Repository.getAll(); * * * //if more then one repo, then list them as child nodes under the "Install from repository" node. * // the repositories will then be fetched from the loadPackages class. * if (repos.Count > 1) * { * xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repositories" + "&rnd=" + Guid.NewGuid(); * xNode.NodeType = "packagesRepositories"; * xNode.Text = ui.Text("treeHeaders", "repositories"); * xNode.HasChildren = true; * } */ //if only one repo, then just list it directly and name it as the repository. //the packages will be loaded from the loadPackages class with a repoAlias querystring var repos = cms.businesslogic.packager.repositories.Repository.getAll(); xNode.Text = repos[0].Name; xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repos[0].Guid + "&rnd=" + Guid.NewGuid(); xNode.NodeType = "packagesRepository"; xNode.Action = "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repos[0].Guid + "');"; xNode.Icon = "icon-server-alt"; xNode.HasChildren = true; break; case "CreatePackage.aspx": xNode.Source = "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=created" + "&rnd=" + Guid.NewGuid(); xNode.NodeType = "createdPackages"; xNode.Menu.Clear(); xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionNew.Instance); xNode.Menu.Add(umbraco.BusinessLogic.Actions.ActionRefresh.Instance); xNode.Text = ui.Text("treeHeaders", "createdPackages"); xNode.HasChildren = true; xNode.Action = "javascript:void(0);"; break; case "installer.aspx": xNode.Source = ""; xNode.NodeType = "uploadPackage"; xNode.Icon = "icon-page-up"; xNode.Action = "javascript:openPackageCategory('" + items[i, 0] + "');"; xNode.Text = ui.Text("treeHeaders", "localPackage"); xNode.Menu.Clear(); break; case "StarterKits.aspx": xNode.Source = ""; xNode.NodeType = "starterKits"; xNode.Action = "javascript:openPackageCategory('" + items[i, 0] + "');"; xNode.Icon = "icon-flash"; xNode.Text = ui.Text("treeHeaders", "installStarterKit"); xNode.Menu.Clear(); break; default: break; } if (xNode.Text != "") { tree.Add(xNode); } } }
/// /// Override the render method to create the newsletter tree /// /// public override void Render(ref XmlTree Tree) { // XmlTree xTree = new XmlTree(); // ITreeService treeParams = new TreeService(1099, "content", false, false, TreeDialogModes.none, null); // TreeDefinition tree = TreeDefinitionCollection.Instance.FindTree("content"); // BaseTree instance = tree.CreateInstance(); // instance.SetTreeParameters((ITreeService)treeParams); // instance.Render(ref xTree); // string json = @"{ // ""data"": { // ""title"": ""Workout 2"", // ""icon"": ""/umbraco/images/umbraco/bin.png"", // ""attributes"": { // ""class"": ""sprTree noSpr"", // ""href"": ""javascript:openContent(\u00271102\u0027);"", // ""umb:nodedata"": ""{\u0027menu\u0027:\u0027K,,,Z,T,L\u0027,\u0027nodeType\u0027:\u0027content\u0027,\u0027source\u0027:\u0027/umbraco/tree.aspx?rnd=45fec03ca8454bf394a4828a40513c60\\u0026id=1102\\u0026treeType=content\\u0026contextMenu=true\\u0026isDialog=false\u0027}"", // } // }, // ""attributes"": { // ""id"": ""1102"", // ""class"": ""dim overlay-new"", // ""rel"": ""dataNode"", // ""umb:type"": ""content"" // } // }"; // string json1 = @"{ // ""data"": { // ""title"": ""Workout 2"", // ""icon"": ""/umbraco/images/umbraco/bin.png"", // ""attributes"": { // ""class"": ""sprTree noSpr"", // ""href"": ""javascript:openContent(\u00271102\u0027);"", // ""umb:nodedata"": ""{\u0027menu\u0027:\u0027K,,,Z,T,L\u0027,\u0027nodeType\u0027:\u0027content\u0027,\u0027source\u0027:\u0027/umbraco/tree.aspx?rnd=45fec03ca8454bf394a4828a40513c60\\u0026id=1102\\u0026treeType=content\\u0026contextMenu=true\\u0026isDialog=false\u0027}"", // } // }, // ""attributes"": { // ""id"": ""1102"", // ""class"": ""dim overlay-new"", // ""rel"": ""dataNode"", // ""umb:type"": ""content"" // } // }"; // JObject o = JObject.Parse(json); // JObject o1 = JObject.Parse(json1); // var z = this.NodeKey; // Dictionary.DictionaryItem[] tmp = this.id == this.StartNodeID // ? Dictionary.getTopMostItems // : new Dictionary.DictionaryItem(this.id).Children; Tree.treeCollection.Clear(); User user = User.GetCurrent(); List <Member> members = Member.GetAllAsList().Where(m => Roles.GetRolesForUser(m.LoginName).Contains("Users") && m.getProperty("isActive").Value.ToString() == "1").ToList(); List <IContent> documents = ApplicationContext.Current.Services.ContentService.GetChildren(int.Parse(UmbracoCustom.GetParameterValue(UmbracoType.GymnastNode))).ToList(); List <IContent> gymnasts = documents.Where(d => d.GetValue("trainer").ToString() == user.Id.ToString() && members.Select(m => m.Id).Contains(d.GetValue <int>("member"))).ToList(); foreach (IContent gymnast in gymnasts) { Member member = members.Single(m => m.getProperty("gymnast").Value.ToString() == gymnast.Id.ToString()); var node = XmlTreeNode.Create(this); node.NodeID = gymnast.Id.ToString(); node.Text = member.Text; node.Icon = "user.gif"; node.Action = string.Format("javascript:openDashboard({0}, {1});", gymnast.Id, member.Id); //node.Source = gymnast.HasChildren ? this.GetTreeServiceUrl(gymnast.Id).Replace("trainer", "content") : ""; //node.Source = "/umbraco/surface/HelperSurface/GetNodes"; Tree.Add(node); } //Document document = documents.Single(d => d.Text == user.Name); //.Where(m=> m.getProperty("trainer").Value.ToString() == document.Id.ToString()); //foreach (Member member in members) //{ // if (member.getProperty("trainer").Value.ToString() == document.Id.ToString()) // { // var node = XmlTreeNode.Create(this); // node.NodeID = member.Id.ToString(); // node.Text = member.Text; // node.Icon = "b_user.png"; // node.Action = string.Format("javascript:openSendNewsletter({0});", member.Id); // Tree.Add(node); // } //} }
public Dictionary <string, string> GetInitAppTreeData(string app, string treeType, bool showContextMenu, bool isDialog, TreeDialogModes dialogMode, string functionToCall, string nodeKey) { Authorize(); var treeCtl = new TreeControl() { ShowContextMenu = showContextMenu, IsDialog = isDialog, DialogMode = dialogMode, App = app, TreeType = string.IsNullOrEmpty(treeType) ? "" : treeType, //don't set the tree type unless explicitly set NodeKey = string.IsNullOrEmpty(nodeKey) ? "" : nodeKey, //StartNodeID = -1, //TODO: set this based on parameters! FunctionToCall = string.IsNullOrEmpty(functionToCall) ? "" : functionToCall }; var returnVal = new Dictionary <string, string>(); if (string.IsNullOrEmpty(treeType)) { //if there's not tree type specified, then render out the tree as per normal with the normal //way of doing things returnVal.Add("json", treeCtl.GetJSONInitNode()); } else { //since 4.5.1 has a bug in it, it ignores if the treeType is specified and will always only render //the whole APP not just a specific tree. //this is a work around for this bug until it is fixed (which should be fixed in 4.5.2 //get the tree that we need to render var tree = TreeDefinitionCollection.Instance.FindTree(treeType).CreateInstance(); tree.ShowContextMenu = showContextMenu; tree.IsDialog = isDialog; tree.DialogMode = dialogMode; tree.NodeKey = string.IsNullOrEmpty(nodeKey) ? "" : nodeKey; tree.FunctionToCall = string.IsNullOrEmpty(functionToCall) ? "" : functionToCall; //now render it's start node var xTree = new XmlTree(); //we're going to hijack the node name here to make it say content/media var node = tree.RootNode; if (node.Text.Equals("[FilteredContentTree]")) { node.Text = ui.GetText("content"); } else if (node.Text.Equals("[FilteredMediaTree]")) { node.Text = ui.GetText("media"); } xTree.Add(node); returnVal.Add("json", xTree.ToString()); } returnVal.Add("app", app); returnVal.Add("js", treeCtl.JSCurrApp); return(returnVal); }