public TabItem tabControl_OnTabCreated(UIElementInfo uiElement, TabItem tab, int tabIndex)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
            case "tools":
                // Hide "Tools" tab if none of modules is available (E-commerce or Contact management)
                bool toolsAvailable = LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE) || LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING);
                if (!toolsAvailable)
                {
                    return null;
                }
                break;

            case "buy":
                if (!LicenseKeyInfoProvider.OnlyTrialLicenseKeys)
                {
                    return null;
                }
                break;

            case "dashboard":
                // Add hash to url
                tab.RedirectUrl = URLHelper.ResolveUrl(URLHelper.EnsureHashToQueryParameters(uiElement.ElementTargetURL));
                break;
        }

        return tab;
    }
    protected List<string> uiGuide_OnGuideItemCreated(UIElementInfo uiElement, List<string> defaultItem)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
            case "tools.ecommerce":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE))
                {
                    return null;
                }
                break;

            case "tools.onlinemarketing":
            case "onlinemarketing.contactmanagement":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING))
                {
                    return null;
                }
                break;

            case "onlinemarketing.automationprocess":
                if (!WorkflowInfoProvider.IsMarketingAutomationAllowed())
                {
                    return null;
                }
                break;
        }

        return defaultItem;
    }
    protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        switch (element.ElementName.ToLowerCSafe())
        {
            case "customers.customfields":

                // Check if customer has any custom fields
                FormInfo formInfo = FormHelper.GetFormInfo("ecommerce.customer", false);
                if (!formInfo.GetFormElements(true, false, true).Any())
                {
                    return null;
                }
                break;

            case "customers.newsletters":
                if (!ModuleEntry.IsModuleLoaded(ModuleEntry.NEWSLETTER))
                {
                    return null;
                }
                break;

            case "customers.credit":
                // Hide Credit tab for anonymous customer
                if ((customerInfoObj == null) || !customerInfoObj.CustomerIsRegistered)
                {
                    return null;
                }
                break;
        }

        return tab;
    }
    /// <summary>
    /// On button filtered handler.
    /// </summary>
    bool ucUIToolbar_OnButtonFiltered(UIElementInfo uiElement)
    {
        bool moduleOnSite = true;
        string siteName = CMSContext.CurrentSiteName;

        // Check whether modules are assigned to current site
        switch (uiElement.ElementName.ToLower())
        {
            case "myfriends":
                moduleOnSite = ResourceSiteInfoProvider.IsResourceOnSite("CMS.Friends", siteName);
                break;

            case "mymessages":
                moduleOnSite = ResourceSiteInfoProvider.IsResourceOnSite("CMS.Messaging", siteName);
                break;

            case "myblogs":
                moduleOnSite = ResourceSiteInfoProvider.IsResourceOnSite("CMS.Blog", siteName);
                break;

            case "myprojects":
                moduleOnSite = ResourceSiteInfoProvider.IsResourceOnSite("CMS.ProjectManagement", siteName);
                break;
        }

        // Check whether separable modules are loaded
        return moduleOnSite && IsMyDeskUIElementAvailable(uiElement.ElementName);
    }
    protected TabItem CMSDesk_Default_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        // Ensure additional permissions to 'Content' tab
        if (element.ElementName.ToLowerCSafe() == "content")
        {
            if (!IsUserAuthorizedPerContent())
            {
                exploreTreePermissionMissing = true;
                return null;
            }
        }
        else if (element.ElementName.ToLowerCSafe() == "ecommerce")
        {
            if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE))
            {
                return null;
            }
        }
        else if (element.ElementName.ToLowerCSafe() == "onlinemarketing")
        {
            if (!ModuleEntry.IsModuleLoaded(ModuleEntry.ONLINEMARKETING))
            {
                return null;
            }
        }

        return tab;
    }
    protected List<string> uiGuide_OnGuideItemCreated(UIElementInfo uiElement, List<string> defaultItem)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
            case "development.notifications":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Notifications, ModuleEntry.NOTIFICATIONS))
                {
                    return null;
                }
                break;

            case "development.customtables":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.CustomTables))
                {
                    return null;
                }
                break;

            case "development.translationservices":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.TranslationServices, ModuleEntry.TRANSLATIONSERVICES))
                {
                    return null;
                }
                break;

            case "development.workflows":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.WorkflowVersioning))
                {
                    return null;
                }
                break;
        }

        return defaultItem;
    }
    protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        int siteId = SiteID;
        bool splitViewSupported = false;
        string lowerElementName = element.ElementName.ToLowerCSafe();

        // Skip some elements if editing just SKU without document binding
        switch (lowerElementName)
        {
            case "products.relatedproducts":
                if (NodeID <= 0)
                {
                    return null;
                }

                break;

            case "products.documents":
                if ((NodeID <= 0) && DisplayTreeInProducts)
                {
                    if (!CurrentUser.IsGlobalAdministrator || (sku == null) || !sku.IsGlobal)
                    {
                        return null;
                    }
                }

                break;

            case "products.workflow":
            case "products.versions":
                splitViewSupported = true;
                if ((NodeID <= 0) || (DocumentManager.Workflow == null))
                {
                    return null;
                }

                break;
        }

        // Ensure tab preselection
        if (lowerElementName.StartsWithCSafe("products.") && (lowerElementName.Substring("products.".Length) == selectedTab))
        {
            CurrentMaster.Tabs.SelectedTab = tabIndex;
        }

        // Add SiteId parameter to each tab
        if (!string.IsNullOrEmpty(tab.RedirectUrl) && (siteId != CMSContext.CurrentSiteID))
        {
            tab.RedirectUrl = URLHelper.AddParameterToUrl(tab.RedirectUrl, "siteId", siteId.ToString());
        }

        // Ensure split view mode
        if (splitViewSupported && CMSContext.DisplaySplitMode)
        {
            tab.RedirectUrl = GetSplitViewUrl(tab.RedirectUrl);
        }

        return tab;
    }
 object[] guide_OnGuideItemCreated(UIElementInfo uiElement, object[] defaultItem)
 {
     if (!IsAdministrationUIElementAvailable(uiElement))
     {
         return null;
     }
     return defaultItem;
 }
 private List<string> guide_OnGuideItemCreated(UIElementInfo uiElement, List<string> defaultItem)
 {
     if (!IsAdministrationUIElementAvailable(uiElement))
     {
         return null;
     }
     return defaultItem;
 }
 private List<string> guide_OnGuideItemCreated(UIElementInfo uiElement, List<string> defaultItem)
 {
     if (!IsMyDeskUIElementAvailable(uiElement.ElementName))
     {
         return null;
     }
     return defaultItem;
 }
 object[] guide_OnGuideItemCreated(UIElementInfo uiElement, object[] defaultItem)
 {
     if (!IsMyDeskUIElementAvailable(uiElement.ElementName))
     {
         return null;
     }
     return defaultItem;
 }
    /// <summary>
    /// Handles btnOK's OnClick event - Update resource info.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        // Finds whether required fields are not empty
        string result = new Validator().NotEmpty(tbModuleDisplayName.Text.Trim(), GetString("Administration-Module_New.ErrorEmptyModuleDisplayName")).NotEmpty(tbModuleCodeName.Text, GetString("Administration-Module_New.ErrorEmptyModuleCodeName"))
            .IsCodeName(tbModuleCodeName.Text, GetString("general.invalidcodename"))
            .Result;

        if (result == "")
        {
            // Check unique name
            ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(tbModuleCodeName.Text);
            if ((ri == null) || (ri.ResourceId == moduleId))
            {
                // Get object
                if (ri == null)
                {
                    ri = ResourceInfoProvider.GetResourceInfo(moduleId);
                    if (ri == null)
                    {
                        ri = new ResourceInfo();
                    }
                }

                // Update resource info
                ri.ResourceId = moduleId;
                ri.ResourceName = tbModuleCodeName.Text;
                ri.ResourceDescription = txtModuleDescription.Text.Trim();
                ri.ResourceDisplayName = tbModuleDisplayName.Text.Trim();

                ResourceInfoProvider.SetResourceInfo(ri);

                // Update root UIElementInfo of the module
                UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(ri.ResourceId);
                if (elemInfo == null)
                {
                    elemInfo = new UIElementInfo();
                }
                elemInfo.ElementResourceID = ri.ResourceId;
                elemInfo.ElementDisplayName = ri.ResourceDisplayName;
                elemInfo.ElementName = ri.ResourceName.ToLowerCSafe().Replace(".", "");
                elemInfo.ElementIsCustom = false;
                UIElementInfoProvider.SetUIElementInfo(elemInfo);

                // Show message
                ShowChangesSaved();
            }
            else
            {
                // Show error message
                ShowError(GetString("Administration-Module_New.UniqueCodeName"));
            }
        }
        else
        {
            // Show error message
            ShowError(result);
        }
    }
 // TODO JaroslavK: Po presunuti prijde odstranit
 protected TabItem Page_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
 {
     // Hide actions tab
     if (element.ElementName.EqualsCSafe("Automation_actions", true) && !CurrentUser.IsGlobalAdministrator)
     {
         return null;
     }
     return tab;
 }
 protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
 {
     // Skip objects tab element if not have proper license
     if ((element.ElementName.ToLowerCSafe() == "myrecyclebin.objects") && !LicenseKeyInfoProvider.IsFeatureAvailable(FeatureEnum.ObjectVersioning))
     {
         return null;
     }
     return tab;
 }
    private TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        // Add SiteId parameter to each tab
        if (!string.IsNullOrEmpty(tab.RedirectUrl))
        {
            tab.RedirectUrl = URLHelper.AddParameterToUrl(tab.RedirectUrl, "siteId", SiteID.ToString());
        }

        return tab;
    }
示例#16
0
    private bool uiToolbarElem_OnButtonFiltered(UIElementInfo uiElement)
    {
        // Check site availabitility
        if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("cms.tools", uiElement.ElementName, true))
        {
            return false;
        }

        // Check whether separable modules are loaded
        return IsToolsUIElementAvailable(uiElement);
    }
    protected TabItem CMSModules_ContactManagement_Pages_Tools_ContactManagement_Header_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        switch (tabIndex)
        {
            case 0: tab.OnClientClick = "SetHelpTopic('helpTopic','waiting_for_my_approval')";
                break;

            case 1: tab.OnClientClick = "SetHelpTopic('helpTopic','onlinemarketing_pendingcontacts_list')";
                break;
        }

        return tab;
    }
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        // Hide UI element SampleDataGenerator if current user is not global administrator
        if (uiElement.ElementName.CompareToCSafe("SampleDataGenerator") == 0)
        {
            if (!CMSContext.CurrentUser.IsGlobalAdministrator)
            {
                return null;
            }
        }

        return defaultNode;
    }
    protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        string lowerElementName = element.ElementName.ToLowerCSafe();

        // Ensure tab preselection
        if (lowerElementName.StartsWithCSafe("contentproduct.") &&
            (lowerElementName.Substring("contentproduct.".Length) == selectedTab))
        {
            CurrentMaster.Tabs.SelectedTab = tabIndex;
        }

        return tab;
    }
示例#20
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.menuElem.OnNodeCreated += new CMSAdminControls_UI_UIProfiles_UIMenu.NodeCreatedEventHandler(menuElem_OnNodeCreated);

        ScriptHelper.RegisterClientScriptBlock(this.Page, typeof(string), "AdministrationLoadItem", ScriptHelper.GetScript(
                                                   "function LoadItem(elementName, elementUrl) \n" +
                                                   "{ \n" +
                                                   "  parent.frames['analyticsDefault'].location.href = elementUrl; \n" +
                                                   "} \n"));

        this.menuElem.EnableRootSelect = false;

        // If node preselection is happening, expand the navigation tree
        if (!String.IsNullOrEmpty(this.selectedNode))
        {
            this.menuElem.ExpandLevel = 1;
        }
        else
        {
            this.menuElem.ExpandLevel = 0;
        }

        // Get NOT custom conversions from UI elements
        UIElementInfo root = UIElementInfoProvider.GetRootUIElementInfo("CMS.WebAnalytics");

        if (root != null)
        {
            // Get all UI elements to filter custom reports
            DataSet dsElems = UIElementInfoProvider.GetUIElements("ElementIDPath LIKE '" + DataHelper.EscapeLikeQueryPatterns(root.ElementIDPath, true, true, true) + "/%'", String.Empty, 0, "ElementName,ElementTargetUrl");
            if (!SqlHelperClass.DataSourceIsEmpty(dsElems) && (dsElems.Tables.Count > 0))
            {
                // Condition for custom reports
                customWhereCondition = "StatisticsCode NOT IN (";
                foreach (DataRow dr in dsElems.Tables[0].Rows)
                {
                    string codeName = ValidationHelper.GetString(dr["ElementName"], String.Empty);
                    customWhereCondition += "N'" + SqlHelperClass.GetSafeQueryString(codeName, false) + "',";
                }

                // Add special cases - dont want to show them in UI or Custom report section
                customWhereCondition += additionalConversions.Replace(';', ',');

                customWhereCondition  = customWhereCondition.TrimEnd(new char[] { ',' });
                customWhereCondition += ")";

                // Filter AB Testing
                customWhereCondition += " AND (StatisticsCode NOT LIKE 'abconversion;%') AND (StatisticsCode NOT LIKE 'mvtconversion;%') AND (StatisticsCode NOT LIKE 'campconversion;%') ";
            }
        }
    }
    protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        if (element.ElementName.ToLowerCSafe() == "orders.customfields")
        {
            // Check if order has any custom fields
            FormInfo formInfo = FormHelper.GetFormInfo("ecommerce.order", false);
            if (!formInfo.GetFormElements(true, false, true).Any())
            {
                return null;
            }
        }

        return tab;
    }
示例#22
0
    protected void menuElem_AfterAction(string actionName, object actionArgument)
    {
        string[] split     = actionArgument.ToString().Split('|');
        int      elementId = ValidationHelper.GetInteger(split[0], 0);

        UIElementInfo elemInfo = UIElementInfoProvider.GetUIElementInfo(elementId);

        if (elemInfo != null)
        {
            this.uniTree.SelectPath = elemInfo.ElementIDPath;
            switch (actionName.ToLower())
            {
            case "delete":
                this.uniTree.ExpandPath = elemInfo.ElementIDPath + "/";
                // Reload header and content after save
                StringBuilder sb = new StringBuilder();

                sb.Append("if (window.parent != null) {");
                sb.Append("if (window.parent.frames['uicontent'] != null) {");
                if (elemInfo.ElementParentID > 0)
                {
                    // If not root element load edit frameset
                    sb.Append("window.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "?moduleID=" + elemInfo.ElementResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';");
                }
                else
                {
                    // Else load root info page
                    sb.Append("window.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_New.aspx") + "?moduleID=" + elemInfo.ElementResourceID + "&parentId=0';");
                }
                sb.Append("}");
                sb.Append("}");
                this.ltlScript.Text += ScriptHelper.GetScript(sb.ToString());
                // Update menu actions parameters
                this.menuElem.Value = elemInfo.ElementID + "|" + elemInfo.ElementParentID;
                break;

            case "moveup":
            case "movedown":
                if (split.Length == 2)
                {
                    this.ltlScript.Text += ScriptHelper.GetScript("window.tabIndex = " + split[1] + ";");
                }
                break;
            }
            this.ltlScript.Text += ScriptHelper.GetScript("var postParentId = " + elemInfo.ElementParentID + ";");
            // Load data
            this.uniTree.ReloadData();
        }
    }
示例#23
0
    /// <summary>
    /// Creates URL for editing.
    /// </summary>
    /// <param name="documentTypeId">Document type identifier</param>
    private String GetEditUrl(string documentTypeId)
    {
        UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.DocumentEngine", "EditDocumentType");

        if (uiChild != null)
        {
            var url = UIContextHelper.GetElementUrl(uiChild, UIContext);
            url = URLHelper.AddParameterToUrl(url, "objectid", documentTypeId.ToString());
            url = URLHelper.AddParameterToUrl(url, "displaytitle", "false");

            return(url);
        }

        return(String.Empty);
    }
示例#24
0
        protected override C1.Win.C1DynamicHelp.UIElementInfo GetUIElementInfo(object uiElement)
        {
            // Try to get Parent and Name for the specified uiElement.
            // These properties should be stored in UIElementInfo object
            UIElementInfo info = C1RibbonHelper.ResolveControl(uiElement);

            // if we were able to get the uiElement's parent and name, return them in a UIElementInfo object.
            if (info != null)
            {
                return(info);
            }

            // uiElement wasn't handled here, so it should be processed by the C1DynamicHelp control automatically
            return(base.GetUIElementInfo(uiElement));
        }
示例#25
0
    protected string[] tabElem_OnTabCreated(UIElementInfo element, string[] parameters, int tabIndex)
    {
        bool   splitViewSupported = true;
        string elementName        = element.ElementName.ToLower();

        switch (elementName)
        {
        case "properties.languages":
            splitViewSupported = false;
            if (!CultureInfoProvider.IsSiteMultilignual(CMSContext.CurrentSiteName) || !CultureInfoProvider.LicenseVersionCheck())
            {
                return(null);
            }
            break;

        case "properties.security":
        case "properties.relateddocs":
        case "properties.linkeddocs":
            splitViewSupported = false;
            break;

        case "properties.variants":
            // Check license
            if (DataHelper.GetNotEmpty(URLHelper.GetCurrentDomain(), "") != "")
            {
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContentPersonalization, ModuleEntry.ONLINEMARKETING) ||
                    !ResourceSiteInfoProvider.IsResourceOnSite("CMS.ContentPersonalization", CMSContext.CurrentSiteName))
                {
                    return(null);
                }
            }
            break;
        }

        // Ensure tab preselection
        if (elementName.StartsWith("properties.") && (elementName.Substring("properties.".Length) == selected))
        {
            CurrentMaster.Tabs.SelectedTab = tabIndex;
        }

        // Ensure split view mode
        if (splitViewSupported && CMSContext.DisplaySplitMode)
        {
            parameters[2] = GetSplitViewUrl(parameters[2]);
        }

        return(parameters);
    }
    protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        // Global objects tab will be displayed only to global admin
        if (!currentUser.IsGlobalAdministrator && (element.ElementName.ToLowerCSafe() == "configuration.settings.globalobjects"))
        {
            return null;
        }

        // Add SiteId parameter to each tab
        if (!string.IsNullOrEmpty(tab.RedirectUrl))
        {
            tab.RedirectUrl = URLHelper.AddParameterToUrl(tab.RedirectUrl, "siteId", SiteID.ToString());
        }

        return tab;
    }
示例#27
0
    protected string[] tabElem_OnTabCreated(UIElementInfo element, string[] parameters, int tabIndex)
    {
        string elementName = element.ElementName.ToLower();

        if (elementName.StartsWith("validation.") && (elementName.Substring("validation.".Length) == selected))
        {
            selectedTabIndex = tabIndex;
        }

        if (parameters[2] != null)
        {
            parameters[2] = URLHelper.AppendQuery(URLHelper.RemoveQuery(parameters[2]), URLHelper.Url.Query);
        }

        return parameters;
    }
    protected TabItem tabElem_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        string elementName = element.ElementName.ToLowerCSafe();

        if (elementName.StartsWithCSafe("validation.") && (elementName.Substring("validation.".Length) == selected))
        {
            selectedTabIndex = tabIndex;
        }

        if (tab.RedirectUrl != null)
        {
            tab.RedirectUrl = URLHelper.AppendQuery(URLHelper.RemoveQuery(tab.RedirectUrl), URLHelper.Url.Query);
        }

        return tab;
    }
    protected TabItem tabElem_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        string elementName = element.ElementName.ToLowerCSafe();
        string siteName = CMSContext.CurrentSiteName;
        if ((elementName == "onlinemarketing.languages") && (!CultureInfoProvider.IsSiteMultilignual(siteName) || !CultureInfoProvider.LicenseVersionCheck()))
        {
            return null;
        }

        if (elementName.StartsWithCSafe("onlinemarketing.") && (!ModuleEntry.IsModuleLoaded("cms.onlinemarketing")))
        {
            return null;
        }

        return tab;
    }
示例#30
0
    protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        // Global objects tab will be displayed only to global admin
        if (!currentUser.IsGlobalAdministrator && (element.ElementName.ToLowerCSafe() == "configuration.settings.globalobjects"))
        {
            return(null);
        }

        // Add SiteId parameter to each tab
        if (!string.IsNullOrEmpty(tab.RedirectUrl))
        {
            tab.RedirectUrl = URLHelper.AddParameterToUrl(tab.RedirectUrl, "siteId", SiteID.ToString());
        }

        return(tab);
    }
    private void ProcessPage(WebPartContainerInfo webPartContainer)
    {
        if (chkAssign.Visible && chkAssign.Checked)
        {
            WebPartContainerSiteInfoProvider.AddContainerToSite(webPartContainer, SiteContext.CurrentSite);
        }

        UIElementInfo ui = UIElementInfoProvider.GetUIElementInfo("cms.Design", "EditWebPartContainer");

        if (ui != null)
        {
            String url = UIContextHelper.GetElementUrl(ui, false);
            url = URLHelper.AddParameterToUrl(url, "objectID", webPartContainer.ContainerID.ToString());
            URLHelper.Redirect(url);
        }
    }
    /// <summary>
    /// Removes Analytics Extender from given UIElement
    /// </summary>
    private static void RemoveAnalyticsExtenderFromUiElement(UIElementInfo uiElement)
    {
        XmlData customData = new XmlData();

        customData.LoadData(uiElement.ElementProperties);

        string pageExtenderClassName = ValidationHelper.GetString(customData.GetValue("pageextenderclassname"), String.Empty);

        if ("analyticsextender".EqualsCSafe(pageExtenderClassName.ToLower()))
        {
            customData.Remove("pageextenderclassname");
            customData.Remove("pageextenderassemblyname");
            uiElement.ElementProperties = customData.GetData();
            uiElement.Update();
        }
    }
    /// <summary>
    /// Creates URL for editing.
    /// </summary>
    /// <param name="classId">Class info identifier</param>
    /// <param name="formId">Alternative form identifier</param>
    private String GetEditUrl(int classId, int formId)
    {
        UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.DocumentEngine", "EditAlternativeForm");

        if (uiChild != null)
        {
            var url = UIContextHelper.GetElementUrl(uiChild, UIContext);
            url = URLHelper.AddParameterToUrl(url, "objectid", formId.ToString());
            url = URLHelper.AddParameterToUrl(url, "parentobjectid", classId.ToString());
            url = URLHelper.AddParameterToUrl(url, "displaytitle", "false");

            return(url);
        }

        return(String.Empty);
    }
示例#34
0
    protected TabItem tabElem_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        string elementName = element.ElementName.ToLowerCSafe();

        if (elementName.StartsWithCSafe("validation.") && (elementName.Substring("validation.".Length) == selected))
        {
            selectedTabIndex = tabIndex;
        }

        if (tab.RedirectUrl != null)
        {
            tab.RedirectUrl = URLHelper.AppendQuery(URLHelper.RemoveQuery(tab.RedirectUrl), URLHelper.Url.Query);
        }

        return(tab);
    }
示例#35
0
    protected string[] tabElem_OnTabCreated(UIElementInfo element, string[] parameters, int tabIndex)
    {
        string elementName = element.ElementName.ToLower();

        if (elementName.StartsWith("validation.") && (elementName.Substring("validation.".Length) == selected))
        {
            selectedTabIndex = tabIndex;
        }

        if (parameters[2] != null)
        {
            parameters[2] = URLHelper.AppendQuery(URLHelper.RemoveQuery(parameters[2]), URLHelper.Url.Query);
        }

        return(parameters);
    }
    protected string[] tabElem_OnTabCreated(UIElementInfo element, string[] parameters, int tabIndex)
    {
        bool splitViewSupported = true;
        string elementName = element.ElementName.ToLower();
        switch (elementName)
        {
            case "properties.languages":
                splitViewSupported = false;
                if (!CultureInfoProvider.IsSiteMultilignual(CMSContext.CurrentSiteName) || !CultureInfoProvider.LicenseVersionCheck())
                {
                    return null;
                }
                break;

            case "properties.security":
            case "properties.relateddocs":
            case "properties.linkeddocs":
                splitViewSupported = false;
                break;

            case "properties.variants":
                // Check license
                if (DataHelper.GetNotEmpty(URLHelper.GetCurrentDomain(), "") != "")
                {
                    if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContentPersonalization, ModuleEntry.ONLINEMARKETING)
                         || !ResourceSiteInfoProvider.IsResourceOnSite(ModuleEntry.ONLINEMARKETING, CMSContext.CurrentSiteName))
                    {
                        return null;
                    }
                }
                break;
        }

        // Ensure tab preselection
        if (elementName.StartsWith("properties.") && (elementName.Substring("properties.".Length) == selected))
        {
            CurrentMaster.Tabs.SelectedTab = tabIndex;
        }

        // Ensure split view mode
        if (splitViewSupported && CMSContext.DisplaySplitMode)
        {
            parameters[2] = GetSplitViewUrl(parameters[2]);
        }

        return parameters;
    }
示例#37
0
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        if (uiElement != null)
        {
            defaultNode.NavigateUrl = URLHelper.ResolveUrl(uiElement.ElementTargetURL);
            defaultNode.Target      = "ecommreports";

            // Set first child node to be preselected
            if (String.IsNullOrEmpty(this.firstChildNodeName))
            {
                this.firstChildNodeName = uiElement.ElementName;
                this.firstChildNodeUrl  = defaultNode.NavigateUrl;
                defaultNode.Selected    = true;
            }
        }
        return(defaultNode);
    }
示例#38
0
    private void GenerateBreadcrumbs(string objectType)
    {
        UIElementInfo elementObjectTypes    = UIElementInfoProvider.GetUIElementInfo("cms", "objecttypes");
        string        elementObjectTypesUrl = UIContextHelper.GetElementUrl(elementObjectTypes, UIContext);

        elementObjectTypesUrl = URLHelper.AppendQuery(elementObjectTypesUrl, "displaytitle=false");

        PageBreadcrumbs.Items.Add(new BreadcrumbItem()
        {
            RedirectUrl = elementObjectTypesUrl
        });

        PageBreadcrumbs.Items.Add(new BreadcrumbItem()
        {
            Text = objectType
        });
    }
示例#39
0
    protected TabItem tabElem_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        string elementName = element.ElementName.ToLowerCSafe();
        string siteName    = CMSContext.CurrentSiteName;

        if ((elementName == "onlinemarketing.languages") && (!CultureInfoProvider.IsSiteMultilignual(siteName) || !CultureInfoProvider.LicenseVersionCheck()))
        {
            return(null);
        }

        if (elementName.StartsWithCSafe("onlinemarketing.") && (!ModuleEntry.IsModuleLoaded("cms.onlinemarketing")))
        {
            return(null);
        }

        return(tab);
    }
示例#40
0
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        if (uiElement != null)
        {
            defaultNode.NavigateUrl = URLHelper.ResolveUrl(uiElement.ElementTargetURL);
            defaultNode.Target = "ecommreports";

            // Set first child node to be preselected
            if (String.IsNullOrEmpty(this.firstChildNodeName))
            {
                this.firstChildNodeName = uiElement.ElementName;
                this.firstChildNodeUrl = defaultNode.NavigateUrl;
                defaultNode.Selected = true;
            }
        }
        return defaultNode;
    }
示例#41
0
    /// <summary>
    /// Copies role binding from parent UI element.
    /// </summary>
    /// <param name="element">Element which are permissions copied to</param>
    private void CopyFromParent(UIElementInfo element)
    {
        using (var tr = new CMSTransactionScope())
        {
            if (element != null)
            {
                // Delete existing bindings
                DataSet elemRoles = RoleUIElementInfoProvider.GetRoleUIElements("ElementID = " + element.ElementID, null);
                if (!DataHelper.DataSourceIsEmpty(elemRoles))
                {
                    foreach (DataRow dr in elemRoles.Tables[0].Rows)
                    {
                        // Get role id
                        int roleId = ValidationHelper.GetInteger(dr["RoleID"], 0);
                        // Remove binding
                        RoleUIElementInfoProvider.DeleteRoleUIElementInfo(roleId, element.ElementID);
                    }
                }

                // Add same bindings as parent has
                int parentElemId = element.ElementParentID;

                DataSet parentRoles = RoleUIElementInfoProvider.GetRoleUIElements("ElementID = " + parentElemId, null);
                if (!DataHelper.DataSourceIsEmpty(parentRoles))
                {
                    foreach (DataRow dr in parentRoles.Tables[0].Rows)
                    {
                        // Get role id
                        int roleId = ValidationHelper.GetInteger(dr["RoleID"], 0);
                        // Create binding
                        RoleUIElementInfoProvider.AddRoleUIElementInfo(roleId, element.ElementID);
                    }
                }
            }

            // Commit transaction
            tr.Commit();
        }

        // Invalidate all users
        UserInfo.TYPEINFO.InvalidateAllObjects();

        // Clear hashtables with users
        UserInfoProvider.Clear(true);
    }
示例#42
0
    /// <summary>
    /// Gets and updates UI element. Called when the "Get and update element" button is pressed.
    /// Expects the CreateUIElement method to be run first.
    /// </summary>
    private bool GetAndUpdateUIElement()
    {
        // Get the UI element
        UIElementInfo updateElement = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement");

        if (updateElement != null)
        {
            // Update the properties
            updateElement.ElementDisplayName = updateElement.ElementDisplayName.ToLower();

            // Save the changes
            UIElementInfoProvider.SetUIElementInfo(updateElement);

            return(true);
        }

        return(false);
    }
        public static iText.Layout.Element.Paragraph ToIText(this CanvasRichTextBox canvasTextBox)
        {
            var info = new UIElementInfo(canvasTextBox.TextBox, canvasTextBox.Canvas);
            var text = new TextRange(canvasTextBox.TextBox.Document.ContentStart,
                                     canvasTextBox.TextBox.Document.ContentEnd).Text;
            var textBox = new iText.Layout.Element.Text(text);

            textBox.SetFontSize((float)(canvasTextBox.TextBox.FontSize.ToITextPoint()));
            textBox.SetFont(GetFont(canvasTextBox.TextBox.FontFamily.Source));
            var   paragraph    = new iText.Layout.Element.Paragraph(textBox);
            float magicPadding = 17f;             // Some sort of rtf padding that is hard to pin-point

            paragraph.SetFixedPosition(info.Left, info.Bottom - magicPadding, iText.Layout.Properties.UnitValue.CreatePercentValue(100));
            paragraph.SetMultipliedLeading(0.9f);
            paragraph.SetWidth(info.ElementWidth * 1.3f);
            paragraph.SetHeight(info.ElementHeight * 1.3f);
            return(paragraph);
        }
示例#44
0
    /// <summary>
    /// Gets HTML list code representing the <paramref name="uiElement"/> where can visitors go after the import has finished.
    /// </summary>
    /// <param name="uiElement">UI element the caption, icon and link are loaded from</param>
    /// <param name="description">Description of the element (i.e. some clarification what the application is good for)</param>
    /// <returns>HTML list code representing the <paramref name="uiElement"/> with given <paramref name="description"/></returns>
    private string GetContinueToSmartTipListContent(UIElementInfo uiElement, string description)
    {
        string applicationUrl = UIContextHelper.GetApplicationUrl(UIContextHelper.GetResourceName(uiElement.ElementResourceID), uiElement.ElementName);

        return(string.Format(@"
<li>
    <div class=""om-import-csv-next-steps-initial"">
        <i aria-hidden=""true"" class=""{0} cms-icon-100""></i>
    </div>
    <div class=""om-import-csv-next-steps-description"">
        <p class=""lead"">
            <a href=""{1}"" target=""_blank"">{2}</a>
        </p>
        <p>
            {3}
        </p>
    </div>
</li>", uiElement.ElementIconClass, URLHelper.ResolveUrl(applicationUrl), MacroResolver.Resolve(uiElement.ElementCaption), description));
    }
    /// <summary>
    /// Reloads the tree data.
    /// </summary>
    public void ReloadData()
    {
        ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(this.ModuleID);

        if (ri != null)
        {
            // Get the info
            root = UIElementInfoProvider.GetRootUIElementInfo(ri.ResourceName);
            if (root != null)
            {
                // Prepare the parameters
                QueryDataParameters parameters = new QueryDataParameters();
                parameters.Add("@ModuleID", this.ModuleID);
                parameters.Add("@RoleID", this.RoleID);

                // Create and set category provider
                UniTreeProvider provider = new UniTreeProvider();
                provider.QueryName         = "cms.uielement.selecttree";
                provider.DisplayNameColumn = "ElementName";
                provider.IDColumn          = "ElementID";
                provider.LevelColumn       = "ElementLevel";
                provider.OrderColumn       = "ElementOrder";
                provider.ParentIDColumn    = "ElementParentID";
                provider.PathColumn        = "ElementIDPath";
                provider.ValueColumn       = "ElementID";
                provider.ChildCountColumn  = "ElementChildCount";
                provider.Parameters        = parameters;

                this.treeElem.ExpandTooltip    = GetString("general.expand");
                this.treeElem.CollapseTooltip  = GetString("general.collapse");
                this.treeElem.UsePostBack      = false;
                this.treeElem.EnableRootAction = false;
                this.treeElem.ProviderObject   = provider;
                this.treeElem.ExpandPath       = root.ElementIDPath;

                string rootText = HTMLHelper.HTMLEncode(ri.ResourceDisplayName) + "&nbsp;<span class=\"UITreeSelectButton\">(<span onclick=\"" + (Enabled ? "SelectAllSubelements($j(this), " + root.ElementID + ", false); " + CallbackRef + ";" : "return false;") + "\" >" + GetString("uiprofile.selectall") + "</span>,&nbsp;<span onclick=\"" + (Enabled ? "DeselectAllSubelements($j(this), " + root.ElementID + ", false); " + CallbackRef + ";" : "return false;") + "\" >" + GetString("uiprofile.deselectall") + "</span>)</span>";
                this.treeElem.SetRoot(rootText, root.ElementID.ToString(), ResolveUrl(root.ElementIconPath));

                this.treeElem.ReloadData();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        int moduleid  = QueryHelper.GetInteger("moduleid", 0);
        int elementid = QueryHelper.GetInteger("elementid", 0);
        int parentid  = QueryHelper.GetInteger("parentid", 0);
        int saved     = QueryHelper.GetInteger("saved", 0);
        int tabindex  = QueryHelper.GetInteger("tabindex", 0);

        // Check if element has role tab allowed
        UIElementInfo groupElem = UIElementInfoProvider.GetUIElementInfo(elementid);

        if ((tabindex == 0) || (groupElem.ElementName.StartsWith("Group.")))
        {
            editContent.Attributes["src"] = ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_General.aspx") + "?moduleID=" + moduleid + "&elementid=" + elementid + "&parentId=" + parentid + "&saved=" + saved + "&tabIndex=" + tabindex;
        }
        else
        {
            editContent.Attributes["src"] = ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Roles.aspx") + "?moduleID=" + moduleid + "&elementid=" + elementid + "&parentId=" + parentid + "&saved=" + saved + "&tabIndex=" + tabindex;
        }
    }
    protected string[] tabElem_OnTabCreated(UIElementInfo element, string[] parameters, int tabIndex)
    {
        string elementName = element.ElementName.ToLower();
        string siteName = CMSContext.CurrentSiteName;
        if ((elementName == "onlinemarketing.languages") && (!CultureInfoProvider.IsSiteMultilignual(siteName) || !CultureInfoProvider.LicenseVersionCheck()))
        {
            return null;
        }

        if (elementName.StartsWith("onlinemarketing.") && (!ModuleEntry.IsModuleLoaded("cms.onlinemarketing")))
        {
            return null;
        }

        if (elementName.StartsWith("onlinemarketing.") && (elementName.Substring("onlinemarketing.".Length) == selected))
        {
            selectedTabIndex = tabIndex;
        }

        return parameters;
    }
示例#48
0
    protected List <string> uiGuide_OnGuideItemCreated(UIElementInfo uiElement, List <string> defaultItem)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
        case "administration.integrationbus":
            if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
            {
                return(null);
            }
            break;

        case "administration.webfarm":
            if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
            {
                return(null);
            }
            break;
        }

        return(defaultItem);
    }
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
            case "support.apiexamples":
                // Checks if APIExamples file exists
                if (!File.Exists(Server.MapPath("~/CMSAPIExamples/Default.aspx")))
                {
                    return null;
                }
                defaultNode.Target = "_top";
                break;

            case "support.documentation":
                // Edit documentation url dinamicaly version to version
                uiElement.ElementTargetURL = "http://devnet.kentico.com/Documentation/" + CMSContext.SYSTEM_VERSION.Replace(".", "_") + ".aspx";
                break;
        }

        return defaultNode;
    }
    protected List<string> uiGuide_OnGuideItemCreated(UIElementInfo uiElement, List<string> defaultItem)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
            case "administration.integrationbus":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
                {
                    return null;
                }
                break;

            case "administration.webfarm":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
                {
                    return null;
                }
                break;
        }

        return defaultItem;
    }
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
            case "administration.integrationbus":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
                {
                    return null;
                }
                break;

            case "administration.webfarm":
                if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
                {
                    return null;
                }
                break;
        }

        return defaultNode;
    }
示例#52
0
    /// <summary>
    /// Removes UI element from role. Called when the "Remove element from role" button is pressed.
    /// Expects the AddUIElementToRole method to be run first.
    /// </summary>
    private bool RemoveUIElementFromRole()
    {
        // Get the role
        RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", SiteContext.CurrentSiteID);

        // Get the UI element
        UIElementInfo element = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement");

        if ((role != null) && (element != null))
        {
            // Get the role UI element
            RoleUIElementInfo deleteElement = RoleUIElementInfoProvider.GetRoleUIElementInfo(role.RoleID, element.ElementID);

            // Delete the role UI element
            RoleUIElementInfoProvider.DeleteRoleUIElementInfo(deleteElement);

            return(deleteElement != null);
        }

        return(false);
    }
示例#53
0
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
        case "administration.integrationbus":
            if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
            {
                return(null);
            }
            break;

        case "administration.webfarm":
            if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
            {
                return(null);
            }
            break;
        }

        return(defaultNode);
    }
示例#54
0
    protected TreeNode treeElem_OnNodeCreated(UIElementInfo uiElement, TreeNode defaultNode)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
        case "support.apiexamples":
            // Checks if APIExamples file exists
            if (!File.Exists(Server.MapPath("~/CMSAPIExamples/Default.aspx")))
            {
                return(null);
            }
            defaultNode.Target = "_top";
            break;

        case "support.documentation":
            // Edit documentation url dinamicaly version to version
            uiElement.ElementTargetURL = "http://devnet.kentico.com/Documentation/" + CMSContext.SYSTEM_VERSION.Replace(".", "_") + ".aspx";
            break;
        }

        return(defaultNode);
    }
示例#55
0
    /// <summary>
    /// Creates UI element. Called when the "Create element" button is pressed.
    /// Expects the CreateModule method to be run first.
    /// </summary>
    private bool CreateUIElement()
    {
        // Get the module
        ResourceInfo module = ResourceInfoProvider.GetResourceInfo("MyNewModule");

        if (module != null)
        {
            // Get the parent UI element
            UIElementInfo rootElement = UIElementInfoProvider.GetRootUIElementInfo(module.ResourceId);
            if (rootElement == null)
            {
                // Create root UI element
                rootElement = new UIElementInfo();
                rootElement.ElementResourceID  = module.ResourceId;
                rootElement.ElementDisplayName = module.ResourceDisplayName;
                rootElement.ElementName        = module.ResourceName.ToLower().Replace(".", "");
                rootElement.ElementIsCustom    = false;

                // Save root UI element
                UIElementInfoProvider.SetUIElementInfo(rootElement);
            }

            // Create new UI element object
            UIElementInfo newElement = new UIElementInfo();

            // Set the properties
            newElement.ElementDisplayName = "My new element";
            newElement.ElementName        = "MyNewElement";
            newElement.ElementResourceID  = module.ResourceId;
            newElement.ElementIsCustom    = true;
            newElement.ElementParentID    = rootElement.ElementID;

            // Save the UI element
            UIElementInfoProvider.SetUIElementInfo(newElement);

            return(true);
        }

        return(false);
    }
示例#56
0
    protected string[] tabElem_OnTabCreated(UIElementInfo element, string[] parameters, int tabIndex)
    {
        string elementName = element.ElementName.ToLower();
        string siteName    = CMSContext.CurrentSiteName;

        if ((elementName == "onlinemarketing.languages") && (!CultureInfoProvider.IsSiteMultilignual(siteName) || !CultureInfoProvider.LicenseVersionCheck()))
        {
            return(null);
        }

        if (elementName.StartsWith("onlinemarketing.") && (!ModuleEntry.IsModuleLoaded("cms.onlinemarketing")))
        {
            return(null);
        }

        if (elementName.StartsWith("onlinemarketing.") && (elementName.Substring("onlinemarketing.".Length) == selected))
        {
            selectedTabIndex = tabIndex;
        }

        return(parameters);
    }
示例#57
0
    private static TabItem tabElem_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex)
    {
        switch (element.ElementName.ToLowerCSafe())
        {
        case "myprofile.notifications":
            if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Notifications, ModuleEntry.NOTIFICATIONS) ||
                !ResourceSiteInfoProvider.IsResourceOnSite(ModuleEntry.NOTIFICATIONS, CMSContext.CurrentSiteName))
            {
                return(null);
            }
            break;

        case "myprofile.categories":
            if (!ResourceSiteInfoProvider.IsResourceOnSite("CMS.Categories", CMSContext.CurrentSiteName))
            {
                return(null);
            }
            break;
        }

        return(tab);
    }
示例#58
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Get current tag ID
        mTagId = QueryHelper.GetInteger("tagid", 0);
        TagInfo ti = TagInfo.Provider.Get(mTagId);

        EditedObject = ti;

        if (ti != null)
        {
            int groupId = QueryHelper.GetInteger("groupid", 0);
            int siteId  = QueryHelper.GetInteger("siteid", 0);

            UIElementInfo ui  = UIElementInfoProvider.GetUIElementInfo("CMS.Taxonomy", "tags");
            String        url = String.Empty;
            if (ui != null)
            {
                url = UIContextHelper.GetElementUrl(ui, UIContext);
                url = URLHelper.AddParameterToUrl(url, "parentobjectid", groupId.ToString());

                url += String.Format("&tagid={0}&siteid={1}&displaytitle={2}", mTagId, siteId, QueryHelper.GetBoolean("displaytitle", false));
            }

            PageBreadcrumbs.Items.Add(new BreadcrumbItem()
            {
                Text        = GetString("taggroup_edit.itemlistlink"),
                RedirectUrl = url
            });

            PageBreadcrumbs.Items.Add(new BreadcrumbItem()
            {
                Text = ti.TagName
            });

            docElem.SiteName = filterDocuments.SelectedSite;
            docElem.UniGrid.OnBeforeDataReload += new OnBeforeDataReload(UniGrid_OnBeforeDataReload);
            docElem.UniGrid.OnAfterDataReload  += new OnAfterDataReload(UniGrid_OnAfterDataReload);
        }
    }
    private void ProcessDialog(WebPartContainerInfo webPartContainer, bool closeOnSave)
    {
        WebPartContainerSiteInfoProvider.AddContainerToSite(webPartContainer, SiteContext.CurrentSite);

        ScriptHelper.RegisterWOpenerScript(this);
        string returnHandler = ScriptHelper.GetString(QueryHelper.GetString("returnhandler", String.Empty), false);
        string script        = "if (wopener && wopener." + returnHandler + ") { wopener." + returnHandler + "('" + webPartContainer.ContainerName + "'); }";

        // Redirects to edit window or simply closes the current window
        if (closeOnSave)
        {
            script += "CloseDialog();";
        }
        else
        {
            UIElementInfo ui = UIElementInfoProvider.GetUIElementInfo("cms.Design", "EditWebPartContainer");
            if (ui != null)
            {
                // Create base URL for element
                String url = UIContextHelper.GetElementUrl(ui, UIContext);

                // Append object ID
                url = URLHelper.AddParameterToUrl(url, "objectid", webPartContainer.ContainerID.ToString());

                // Append actual query string parameters
                url = URLHelper.AddParameterToUrl(url, "returnhandler", QueryHelper.GetString("returnhandler", String.Empty));
                url = URLHelper.AddParameterToUrl(url, "dialog", "1");
                url = URLHelper.AddParameterToUrl(url, "aliaspath", QueryHelper.GetString("aliaspath", String.Empty));
                url = URLHelper.AddParameterToUrl(url, "instanceguid", QueryHelper.GetString("instanceguid", String.Empty));

                // Append dialog hash
                url = UIContextHelper.AppendDialogHash(url);

                script += "window.location.replace('" + ResolveUrl(url) + "');";
            }
        }

        ScriptHelper.RegisterStartupScript(this, GetType(), "UpdateSelector", script, true);
    }
示例#60
0
    protected List <string> uiGuide_OnGuideItemCreated(UIElementInfo uiElement, List <string> defaultItem)
    {
        switch (uiElement.ElementName.ToLowerCSafe())
        {
        case "support.kenticodevnet":
            // Icon correction
            defaultItem[0] = UIHelper.ResolveImageUrl(GetImagePath("CMSModules/CMS_Support/DevnetLarge.png"));
            break;

        case "support.submitissue":
            // Icon correction
            defaultItem[0] = UIHelper.ResolveImageUrl(GetImagePath("CMSModules/CMS_Support/SubmitIssueLarge.png"));
            break;

        case "support.documentation":
            // Icon correction
            defaultItem[0] = UIHelper.ResolveImageUrl(GetImagePath("General/HelpLarge.png"));

            // URL correction
            defaultItem[2] = "http://devnet.kentico.com/Documentation/" + CMSContext.SYSTEM_VERSION.Replace(".", "_") + ".aspx";
            break;

        case "support.apiexamples":
            // Checks if APIExamples file exists
            if (!File.Exists(Server.MapPath("~/CMSAPIExamples/Default.aspx")))
            {
                return(null);
            }

            // Add target frame
            defaultItem.Add("true");

            // Icon correction
            defaultItem[0] = UIHelper.ResolveImageUrl(GetImagePath("CMSModules/CMS_Support/CodeLarge.png"));
            break;
        }

        return(defaultItem);
    }