Esempio n. 1
0
        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++;
                }
            }
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
0
        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;
            }
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 11
0
        /// <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;
            }
        }
Esempio n. 13
0
        /// <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);
                }
            }
        }
Esempio n. 14
0
        ///
        /// 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);
            //    }
            //}
        }
Esempio n. 15
0
        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);
        }