Esempio n. 1
0
    /// <summary>
    /// Gets and bulk updates page templates. Called when the "Get and bulk update templates" button is pressed.
    /// Expects the CreatePageTemplate method to be run first.
    /// </summary>
    private bool GetAndBulkUpdatePageTemplates()
    {
        // Prepare the parameters
        string where = "PageTemplateCodeName LIKE N'MyNewTemplate%'";

        // Get the data
        DataSet templates = PageTemplateInfoProvider.GetTemplates(where, null);

        if (!DataHelper.DataSourceIsEmpty(templates))
        {
            // Loop through the individual items
            foreach (DataRow templateDr in templates.Tables[0].Rows)
            {
                // Create object from DataRow
                PageTemplateInfo modifyTemplate = new PageTemplateInfo(templateDr);

                // Update the properties
                modifyTemplate.DisplayName = modifyTemplate.DisplayName.ToUpper();

                // Save the changes
                PageTemplateInfoProvider.SetPageTemplateInfo(modifyTemplate);
            }

            return(true);
        }

        return(false);
    }
Esempio n. 2
0
    public void ReloadData()
    {
        // Load the data
        DataSet templates = PageTemplateInfoProvider.GetTemplates()
                            .WhereTrue("PageTemplateIsReusable")
                            .WhereTrue("PageTemplateShowAsMasterTemplate")
                            .OrderBy("PageTemplateDisplayName")
                            .Columns("PageTemplateID", "PageTemplateDisplayName", "PageTemplateDescription", "PageTemplateThumbnailGUID", "PageTemplateIconClass");

        ucSelector.DataSource = templates;
        ucSelector.IDColumn   = "PageTemplateID";

        ucSelector.DisplayNameColumn   = "PageTemplateDisplayName";
        ucSelector.DescriptionColumn   = "PageTemplateDescription";
        ucSelector.ThumbnailGUIDColumn = "PageTemplateThumbnailGUID";
        ucSelector.IconClassColumn     = "PageTemplateIconClass";

        ucSelector.ObjectType = PageTemplateInfo.OBJECT_TYPE;
        ucSelector.DataBind();

        if (ucSelector.SelectedId == 0)
        {
            if (!DataHelper.DataSourceIsEmpty(templates))
            {
                int firstTemplateId = ValidationHelper.GetInteger(templates.Tables[0].Rows[0]["PageTemplateID"], 0);
                ucSelector.SelectedId = firstTemplateId;
            }
        }
    }
    private void ProcessTemplates(bool storeInDB, bool deleteFiles)
    {
        if (PageTemplateInfoProvider.StorePageTemplatesInExternalStorage == !storeInDB)
        {
            return;
        }

        if (storeInDB)
        {
            if (deleteFiles)
            {
                AddLog(string.Format(GetString("Deployment.DeletingDeployedFiles"), GetString("objecttype." + PageTemplateInfo.OBJECT_TYPE.Replace(".", "_"))));
            }

            foreach (PageTemplateInfo info in PageTemplateInfoProvider.GetTemplates())
            {
                ProcessTemplateToDB(info);
            }

            if (deleteFiles)
            {
                DeleteDir("~/CMSVirtualFiles/Templates/");
                PageTemplateInfoProvider.StorePageTemplatesInExternalStorage = false;
            }
        }
        else
        {
            PageTemplateInfoProvider.StorePageTemplatesInExternalStorage = true;

            foreach (PageTemplateInfo info in PageTemplateInfoProvider.GetTemplates())
            {
                ProcessTemplateToFS(info);
            }
        }
    }
    /// <summary>
    /// Generates HTML text to be used in description area.
    /// </summary>
    ///<param name="selectedValue">Selected item for which generate description</param>
    private string ShowInDescriptionArea(string selectedValue)
    {
        string description = String.Empty;

        if (!String.IsNullOrEmpty(selectedValue))
        {
            int templateId = ValidationHelper.GetInteger(selectedValue, 0);

            // Get the template data
            DataSet ds = PageTemplateInfoProvider.GetTemplates()
                         .WhereEquals("PageTemplateID", templateId)
                         .Columns("PageTemplateDisplayName", "PageTemplateDescription", "PageTemplateType");

            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                DataRow dr = ds.Tables[0].Rows[0];

                description = ResHelper.LocalizeString(ValidationHelper.GetString(dr["PageTemplateDescription"], ""));
            }
        }

        if (!String.IsNullOrEmpty(description))
        {
            return("<div class=\"Description\">" + HTMLHelper.HTMLEncode(description) + "</div>");
        }

        return(String.Empty);
    }
    private void ProcessTemplates(bool storeInDB, bool deleteFiles)
    {
        if (PageTemplateInfoProvider.StorePageTemplatesInExternalStorage == !storeInDB)
        {
            return;
        }

        string dashboardType = PageTemplateInfoProvider.GetPageTemplateTypeCode(PageTemplateTypeEnum.Dashboard);

        if (storeInDB)
        {
            if (deleteFiles)
            {
                AddLog(string.Format(GetString("Deployment.DeletingDeployedFiles"), GetString("objecttype." + PredefinedObjectType.PAGETEMPLATE.Replace(".", "_"))));
            }
            if (CMSContext.Current.GlobalObjects[PredefinedObjectType.PAGETEMPLATE] != null)
            {
                foreach (PageTemplateInfo info in CMSContext.Current.GlobalObjects[PredefinedObjectType.PAGETEMPLATE])
                {
                    // Save all the device layouts
                    ProcessTemplateToDB(dashboardType, info);
                }

                // AdHoc templates
                foreach (PageTemplateInfo info in PageTemplateInfoProvider.GetTemplates("PageTemplateIsReusable = 0", null))
                {
                    ProcessTemplateToDB(dashboardType, info);
                }
            }

            if (deleteFiles)
            {
                DeleteDir("~/CMSVirtualFiles/Templates/");
                PageTemplateInfoProvider.StorePageTemplatesInExternalStorage = false;
            }
        }
        else
        {
            PageTemplateInfoProvider.StorePageTemplatesInExternalStorage = true;
            foreach (PageTemplateInfo info in CMSContext.Current.GlobalObjects[PredefinedObjectType.PAGETEMPLATE])
            {
                ProcessTemplateToFS(dashboardType, info);
            }

            // AdHoc templates
            foreach (PageTemplateInfo info in PageTemplateInfoProvider.GetTemplates("PageTemplateIsReusable = 0", null))
            {
                ProcessTemplateToFS(dashboardType, info);
            }
        }
    }
    /// <summary>
    /// Generates HTML text to be used in description area.
    /// </summary>
    ///<param name="selectedValue">Selected item for which generate description</param>
    private string ShowInDescriptionArea(string selectedValue)
    {
        string name        = String.Empty;
        string description = String.Empty;
        string portal      = String.Empty;
        string reusable    = String.Empty;

        if (!String.IsNullOrEmpty(selectedValue))
        {
            int templateId = ValidationHelper.GetInteger(selectedValue, 0);

            // Get the template data
            DataSet ds = PageTemplateInfoProvider.GetTemplates("PageTemplateID = " + templateId, null, 0, "PageTemplateDisplayName, PageTemplateDescription, PageTemplateIsPortal, PageTemplateIsReusable");
            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                DataRow dr = ds.Tables[0].Rows[0];

                name        = ResHelper.LocalizeString(ValidationHelper.GetString(dr["PageTemplateDisplayName"], ""));
                description = ResHelper.LocalizeString(ValidationHelper.GetString(dr["PageTemplateDescription"], ""));
                portal      = ValidationHelper.GetBoolean(dr["PageTemplateIsPortal"], false).ToString().ToLowerCSafe();
                reusable    = ValidationHelper.GetBoolean(dr["PageTemplateIsReusable"], false).ToString().ToLowerCSafe();
            }
        }
        // No selection show selected category
        else if (SelectedCategory != null)
        {
            name = SelectedCategory.DisplayName;
        }

        string text = "<div class=\"ItemName\">" + HTMLHelper.HTMLEncode(name) + "</div>";

        if (description != null)
        {
            text += "<div class=\"Description\">" + HTMLHelper.HTMLEncode(description) + "</div>";
        }

        text += "<input type=\"hidden\" id=\"selectedTemplateIsPortal\" value=\"" + portal + "\" />";
        text += "<input type=\"hidden\" id=\"selectedTemplateIsReusable\" value=\"" + reusable + "\" />";

        return(text);
    }
    /// <summary>
    /// Generates HTML text to be used in description area.
    /// </summary>
    ///<param name="selectedValue">Selected item for which generate description</param>
    private string ShowInDescriptionArea(string selectedValue)
    {
        string description = String.Empty;
        string portal      = String.Empty;
        string reusable    = String.Empty;

        if (!String.IsNullOrEmpty(selectedValue))
        {
            int templateId = ValidationHelper.GetInteger(selectedValue, 0);

            // Get the template data
            DataSet ds = PageTemplateInfoProvider.GetTemplates()
                         .WhereEquals("PageTemplateID", templateId)
                         .Columns("PageTemplateDisplayName", "PageTemplateDescription", "PageTemplateType", "PageTemplateIsReusable");

            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                DataRow dr = ds.Tables[0].Rows[0];

                var templateType = ValidationHelper.GetString(dr["PageTemplateType"], "").ToEnum <PageTemplateTypeEnum>();
                var isPortal     = templateType == PageTemplateTypeEnum.Portal;

                description = ResHelper.LocalizeString(ValidationHelper.GetString(dr["PageTemplateDescription"], ""));
                portal      = isPortal.ToString().ToLowerCSafe();
                reusable    = ValidationHelper.GetBoolean(dr["PageTemplateIsReusable"], false).ToString().ToLowerCSafe();
            }
        }

        // Create hidden fields
        ltrHidden.Text  = "<input type=\"hidden\" id=\"selectedTemplateIsPortal\" value=\"" + portal + "\" />";
        ltrHidden.Text += "<input type=\"hidden\" id=\"selectedTemplateIsReusable\" value=\"" + reusable + "\" />";

        if (!String.IsNullOrEmpty(description))
        {
            return("<div class=\"Description\">" + HTMLHelper.HTMLEncode(description) + "</div>");
        }

        return(String.Empty);
    }