示例#1
0
 public string getchildfolders(long folderid)
 {
     System.Text.StringBuilder sb = new System.Text.StringBuilder();
     Ektron.Cms.ContentAPI capi = new Ektron.Cms.ContentAPI();
     Ektron.Cms.FolderData[] folders = capi.GetChildFolders(folderid, true, Ektron.Cms.Common.EkEnumeration.FolderOrderBy.Name);
     Ektron.Cms.PageBuilder.WireframeModel wfm = new WireframeModel();
     if (folders != null && folders.Length > 0)
     {
         foreach (FolderData folder in folders)
         {
             Ektron.Cms.PageBuilder.WireframeData[] wireframes = wfm.FindByFolderID(folder.Id);
             sb.Append("<li class=\"");
             if (folder.HasChildren) sb.Append("ui-finder-folder");
             if (wireframes.Length > 0) sb.Append(" hasWireframe");
             sb.Append("\"><a href=\"");
             sb.Append(capi.AppPath + "/PageBuilder/Wizards/folderbrowser/folderbrowserCB.ashx?folderid=");
             sb.Append(folder.Id);
             sb.Append("\">");
             sb.Append(folder.Name);
             sb.Append("</a></li>");
         }
     }
     return sb.ToString();
 }
示例#2
0
    protected void btnFinish_Click(object sender, EventArgs e)
    {
        string title = (pageBuilderWizardPageTitle.Text).Trim();
        long pageId = 0;
        int languageId = 1033;
        long folderId = -1;
        long wireFrameId = 0;
        // prep some variables for later use
        PageModel pageModel = new PageModel();
        PageData pageInfo = new PageData();
        WireframeModel model = new WireframeModel();
        WireframeData wireframeInfo = new WireframeData();

        if (Request.QueryString["mode"] != "" && Request.QueryString["mode"] != null)
        {
            mode = Request.QueryString["mode"];
        }

        if (Request.QueryString["pageid"] != "" && Request.QueryString["pageid"] != null)
        {
            pageId = Convert.ToInt64(Request.QueryString["pageid"]);
        }

        if (Request.Form["ektronSelectedTemplate"] != "" && Request.Form["ektronSelectedTemplate"] != null)
        {
            wireFrameId = Convert.ToInt64(Request.Form["ektronSelectedTemplate"]);
        }

        string summary = Summary.Content;

        if (Request.QueryString["folderid"] != "" && Request.QueryString["folderid"] != null)
        {
            folderId = Convert.ToInt64(Request.QueryString["folderid"]);
        }

        if (Request.QueryString["language"] != "" && Request.QueryString["language"] != null)
        {
            languageId = Convert.ToInt32(Request.QueryString["language"]);
        }
        if (languageId == -1)
        {
            languageId = contentAPI.RequestInformationRef.ContentLanguage;
        }

        System.Collections.Hashtable meta = metadata.Metadata;

        List<long> selTaxonomy = selectTaxonomy.SelectedTaxonomies;

        string metaXML = "";
        string Quicklink = "";

        //<metadata><meta id="3">Title</meta></metadata>
        foreach (object key in meta.Keys)
        {
            metaXML += @"<meta id=""" + ((object[])meta[key])[0] + @""">" + EkFunctions.HtmlEncode(((object[])meta[key])[2].ToString()) + "</meta>";
        }
        metaXML = "<metadata>" + metaXML + "</metadata>";

        //  create or copy as needed
        if (mode == "add")
        {
            // no pageId was passed, so we're in add mode
            // create the wireframe
            pageModel.CreateMasterLayout(title, folderId, "", languageId, wireFrameId, metaXML, summary, out pageInfo);
        }
        else
        {
            // we're in copy mode
            // let's get the wireframeId based on the current template
            pageModel.Get(pageId, out pageInfo, false);
            wireframeInfo = model.FindByPageID(pageInfo.pageID);
            wireFrameId = wireframeInfo.ID;
            pageInfo.title = title;
            // now we'll make the copy
            pageModel.Copy(pageInfo, folderId, "", languageId, wireFrameId, metaXML, summary, out  pageInfo);
        }

        if (selTaxonomy.Count > 0)
        {
            TaxonomyContentRequest tcr = new TaxonomyContentRequest();
            tcr.ContentId = pageInfo.pageID;
            tcr.TaxonomyList = String.Join(",", selTaxonomy.ConvertAll<string>(delegate(long l) { return l.ToString(); }).ToArray());
            contentAPI.AddTaxonomyItem(tcr);
        }

        // we need to get the quicklink for the redirect just in case
        wireframeInfo = model.FindByID(wireFrameId);
        Quicklink = wireframeInfo.Path + "?Pageid=" + pageInfo.pageID;

        if (Quicklink.IndexOf("LangType=") == -1)
        {
            if (Quicklink.IndexOf("?") > 0)
            {
                Quicklink += "&LangType=" + languageId.ToString();
            }
            else
            {
                Quicklink += "?LangType=" + languageId.ToString();
            }
        }
        ektronWizardStepWrapper.Visible = false;
        redirectMessage.Visible = true;

        // Populate the fullAlias hidden field
        PopulateFullAlias(Quicklink);

        // build script to modify the modal and display the correct buttons, etc.
        StringBuilder scriptString = new StringBuilder();
        scriptString.AppendLine("parent.$ektron('.ektronPageBuilderAddPage').hide();");
        scriptString.AppendLine("Ektron.ready(function(){");
        scriptString.AppendLine("  parent.Ektron.PageBuilder.Wizards.Buttons.showPromptButtons();");
        scriptString.AppendLine("  parent.$ektron('.ektronPageBuilderWizard iframe.ektronPageBuilderAddPageIframe').height('6em');");
        scriptString.AppendLine("  parent.$ektron('.ektronPageBuilderAddPage').fadeIn('slow');");
        scriptString.AppendLine(" });");
        // insert the script into the page
        ClientScript.RegisterClientScriptBlock(this.GetType(), "EktronPageBuilderRedirectPrompt", scriptString.ToString(), true);
    }
示例#3
0
    private void PopulateTemplateList()
    {
        WireframeModel model = new WireframeModel();
        WireframeData[] wireframes = model.FindByFolderID(folderId);
        long defaultTemplateId = folderData.TemplateId;

        StringBuilder result = new StringBuilder();

        result.AppendLine(@"<ul class=""ektronPageBuilderWizardsTemplateList ektronTemplateList"">");
        string thumb = string.Empty;
        foreach (WireframeData wireframe in wireframes)
        {
            if (wireframe.Template.SubType == EkEnumeration.TemplateSubType.MasterLayout) continue;

            thumb = contentAPI.AppPath + "pagebuilder/wizards/images/imageUnavailable.gif";
            if (wireframe.Template.Thumbnail.ToString() != String.Empty)
            {
                thumb = lib_settings_data.ImageDirectory + "wireframesthumbnails/" + wireframe.Template.Thumbnail.ToString();
            }
            // TODO:  Add If/Else statement to use wireframe.thumbnail property for image path if available.
            result.Append(@"    <li title=""");
            result.Append(wireframe.Path + "\"");
            result.Append(" class=\"ektronTemplate clearfix");
            if (wireframe.Template.Id == defaultTemplateId)
            {
                result.Append(" defaultTemplate");
                ektronSelectedTemplate.Value = wireframe.ID.ToString();
            }
            result.Append("\" data-ektron-id=\"" + wireframe.ID);
            result.Append("\">" + Environment.NewLine);
            result.AppendLine(@"        <div class=""templateInnerWrapper"">");
            result.AppendLine(@"            <a onclick=""return false;"" href=""#"">");
            result.AppendLine(@"                <span style=""background-image: url('" + thumb + @"');"" title=""Template Name"" class=""ektronTemplateThumb""></span>");
            result.AppendLine(@"                <strong>" + wireframe.Path + "</strong>");
            result.AppendLine(@"                <span class=""checked""></span>");
            result.AppendLine(@"            </a>");
            result.AppendLine(@"        </div>");
            result.AppendLine(@"    </li>");
        }
        result.AppendLine(@"</ul>");
        templates.Text = result.ToString();
    }
示例#4
0
    protected void displayProperties()
    {
        if (PageID == -1 || (Page as PageBuilder).Status == Mode.AnonViewing)
        {
            propsmenu.Visible = false;
        }
        else
        {
            propsmenu.Visible = true;
            try
            {
                PageBuilder mypage = (Page as PageBuilder);
                WireframeModel wfm = new WireframeModel();
                ContentBase baseData = mypage.Basedata;
                if (baseData == null) baseData = Capi.EkContentRef.LoadContent(PageID, true, EkEnumeration.CMSContentSubtype.PageBuilderData);

                Ektron.Cms.Framework.Localization.LocaleManager _locApi = new Ektron.Cms.Framework.Localization.LocaleManager();

                LocaleData langData = null;
                langData = _locApi.GetItem(baseData.Language);
                ContentStateData state = null;
                WireframeData wireframe = null;
                if (PageID > -1)
                {
                    state = Capi.GetContentState(PageID);
                    wireframe = wfm.FindByPageID(PageID);
                }

                spnContentPath.InnerText = m_refMsg.GetMessage("generic path");
                spnCurrentEditor.InnerText = m_refMsg.GetMessage("status:checked out by");
                spnDateCreated.InnerText = m_refMsg.GetMessage("generic datecreated");
                spnLanguage.InnerText = m_refMsg.GetMessage("lbl language");
                spnLastEditDate.InnerText = m_refMsg.GetMessage("generic date modified");
                spnLastEditor.InnerText = m_refMsg.GetMessage("generic last editor");
                spnMode.InnerText = m_refMsg.GetMessage("lbl pagebuilder current mode");
                spnPageID.InnerText = m_refMsg.GetMessage("lbl pagebuilder page id");
                spnStatus.InnerText = m_refMsg.GetMessage("generic status");
                spnTitle.InnerText = m_refMsg.GetMessage("generic title");
                spnWireframeFile.InnerText = m_refMsg.GetMessage("lbl pagebuilder wireframe template path");

                trCheckedOut.Visible = false;

                lblDatecreated.Text = baseData.DisplayDateCreated;
                lblLanguage.Text = langData.EnglishName  + " (" + baseData.Language.ToString() + ")";
                lblLasteditdate.Text = baseData.DisplayDateModified;
                lblLasteditor.Text = baseData.LastEditorFname + " " + baseData.LastEditorLname;
                lblPath.Text = PagePath;

                if (wireframe != null)
                {
                    lblWireframe.Text = wireframe.Path;
                }
                lblPageid.Text = PageID.ToString();
                lblTitle.Text = state.Title;

                if (state != null)
                {
                    switch (state.Status)
                    {
                        case "A":
                            lblStatus.Text = m_refMsg.GetMessage("status:approved (published)");
                            break;
                        case "S":
                            lblStatus.Text = m_refMsg.GetMessage("status:submitted for approval");
                            break;
                        case "I":
                            lblStatus.Text = m_refMsg.GetMessage("status:checked in");
                            break;
                        case "M":
                            lblStatus.Text = m_refMsg.GetMessage("status:submitted for deletion");
                            break;
                        case "P":
                            lblStatus.Text = m_refMsg.GetMessage("status:approved (pgld)");
                            break;
                        case "O":
                            trCheckedOut.Visible = true;
                            lblStatus.Text = m_refMsg.GetMessage("status:checked out");
                            if (state != null)
                            {
                                lblUserCheckedOut.Text = state.CurrentEditorFirstName + " " + state.CurrentEditorLastName;
                                lblUserCheckedOut.ToolTip = lblUserCheckedOut.Text;
                            }
                            break;
                        case "T":
                            lblStatus.Text = m_refMsg.GetMessage("lbl pagebuilder pending tasks");
                            break;
                        default:
                            lblStatus.Text = "";
                            break;
                    }
                    if (state.ContType == 3)
                    {
                        lblStatus.Text = m_refMsg.GetMessage("lbl pagebuilder expired");
                    }
                }

                switch (mypage.Status)
                {
                    case Mode.AuthorViewing:
                        if ((Page as PageBuilder).viewType == layoutVersion.Staged)
                            lblMode.Text = m_refMsg.GetMessage("pagebuilder viewing staged");
                        else
                            lblMode.Text = m_refMsg.GetMessage("pagebuilder viewing published");
                        break;
                    case Mode.Editing:
                        lblMode.Text = m_refMsg.GetMessage("pagebuilder editing");
                        break;
                    case Mode.Preview:
                        lblMode.Text = m_refMsg.GetMessage("pagebuilder preview");
                        break;
                    default:
                        lblMode.Text = "";
                        break;
                }
            }
            catch (Exception e)
            {
                string error = e.ToString();
            }
        }
    }