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