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(); }
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); }
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(); }
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(); } } }