private void Page_Load(object sender, System.EventArgs e) { int documentTypeId = int.Parse(helper.Request("nodeID")); if (documentTypeId > 0) { cms.businesslogic.web.DocumentType dt = new cms.businesslogic.web.DocumentType(documentTypeId); if (dt != null) { Response.AddHeader("Content-Disposition", "attachment;filename=" + dt.Alias + ".udt"); Response.ContentType = "application/octet-stream"; XmlDocument doc = new XmlDocument(); doc.AppendChild(dt.ToXml(doc)); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.Indent = true; XmlWriter xmlWriter = XmlWriter.Create(Response.OutputStream, writerSettings); doc.Save(xmlWriter); //Response.Write(editDataType.ToXml(new XmlDocument()).OuterXml); } } }
protected void Page_Load(object sender, System.EventArgs e) { dt = new DocumentType(int.Parse(Request.QueryString["id"])); if (!Page.IsPostBack) { bindTemplates(); ClientTools .SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree <loadNodeTypes>().Tree.Alias) .SyncTree(dt.Id.ToString(), false); } }
protected void Page_Load(object sender, System.EventArgs e) { dt = new DocumentType(int.Parse(Request.QueryString["id"])); if (!Page.IsPostBack) { bindTemplates(); ClientTools .SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree<loadNodeTypes>().Tree.Alias) .SyncTree("-1,init," + dt.Path.Replace("-1,", ""), false); } }
override protected void OnInit(EventArgs e) { base.OnInit(e); //validate! int id; if (!int.TryParse(Request.QueryString["id"], out id)) { //if this is invalid show an error this.DisplayFatalError("Invalid query string"); return; } m_ContentId = id; this.UnPublish.Click += new System.EventHandler(this.UnPublishDo); //_document = new cms.businesslogic.web.Document(int.Parse(Request.QueryString["id"])); _document = new Document(true, id); //check if the doc exists if (string.IsNullOrEmpty(_document.Path)) { //if this is invalid show an error this.DisplayFatalError("No document found with id " + m_ContentId); //reset the content id to null so processing doesn't continue on OnLoad m_ContentId = null; return; } // we need to check if there's a published version of this document _documentHasPublishedVersion = _document.HasPublishedVersion(); // Check publishing permissions if (!base.getUser().GetPermissions(_document.Path).Contains(ActionPublish.Instance.Letter.ToString())) _canPublish = controls.ContentControl.publishModes.SendToPublish; cControl = new controls.ContentControl(_document, _canPublish, "TabView1"); cControl.ID = "TabView1"; cControl.Width = Unit.Pixel(666); cControl.Height = Unit.Pixel(666); // Add preview button foreach (uicontrols.TabPage tp in cControl.GetPanels()) { addPreviewButton(tp.Menu, _document.Id); } plc.Controls.Add(cControl); System.Web.UI.WebControls.PlaceHolder publishStatus = new PlaceHolder(); if (_documentHasPublishedVersion) { littPublishStatus.Text = ui.Text("content", "lastPublished", base.getUser()) + ": " + _document.VersionDate.ToShortDateString() + " "; publishStatus.Controls.Add(littPublishStatus); if (base.getUser().GetPermissions(_document.Path).IndexOf("U") > -1) UnPublish.Visible = true; else UnPublish.Visible = false; } else { littPublishStatus.Text = ui.Text("content", "itemNotPublished", base.getUser()); publishStatus.Controls.Add(littPublishStatus); UnPublish.Visible = false; } UnPublish.Text = ui.Text("content", "unPublish", base.getUser()); UnPublish.ID = "UnPublishButton"; UnPublish.Attributes.Add("onClick", "if (!confirm('" + ui.Text("defaultdialogs", "confirmSure", base.getUser()) + "')) return false; "); publishStatus.Controls.Add(UnPublish); publishProps.addProperty(ui.Text("content", "publishStatus", base.getUser()), publishStatus); // Template PlaceHolder template = new PlaceHolder(); cms.businesslogic.web.DocumentType DocumentType = new cms.businesslogic.web.DocumentType(_document.ContentType.Id); cControl.PropertiesPane.addProperty(ui.Text("documentType"), new LiteralControl(DocumentType.Text)); //template picker cControl.PropertiesPane.addProperty(ui.Text("template"), template); int defaultTemplate; if (_document.Template != 0) defaultTemplate = _document.Template; else defaultTemplate = DocumentType.DefaultTemplate; if (this.getUser().UserType.Name == "writer") { if (defaultTemplate != 0) template.Controls.Add(new LiteralControl(cms.businesslogic.template.Template.GetTemplate(defaultTemplate).Text)); else template.Controls.Add(new LiteralControl(ui.Text("content", "noDefaultTemplate"))); } else { ddlDefaultTemplate.Items.Add(new ListItem(ui.Text("choose") + "...", "")); foreach (cms.businesslogic.template.Template t in DocumentType.allowedTemplates) { ListItem tTemp = new ListItem(t.Text, t.Id.ToString()); if (t.Id == defaultTemplate) tTemp.Selected = true; ddlDefaultTemplate.Items.Add(tTemp); } template.Controls.Add(ddlDefaultTemplate); } // Editable update date, release date and expire date added by NH 13.12.04 dp.ID = "updateDate"; dp.Text = _document.UpdateDate.ToShortDateString() + " " + _document.UpdateDate.ToShortTimeString(); publishProps.addProperty(ui.Text("content", "updateDate", base.getUser()), dp); dpRelease.ID = "releaseDate"; dpRelease.DateTime = _document.ReleaseDate; dpRelease.ShowTime = true; publishProps.addProperty(ui.Text("content", "releaseDate", base.getUser()), dpRelease); dpExpire.ID = "expireDate"; dpExpire.DateTime = _document.ExpireDate; dpExpire.ShowTime = true; publishProps.addProperty(ui.Text("content", "expireDate", base.getUser()), dpExpire); cControl.Save += new System.EventHandler(Save); cControl.SaveAndPublish += new System.EventHandler(Publish); cControl.SaveToPublish += new System.EventHandler(SendToPublish); // Add panes to property page... cControl.tpProp.Controls.AddAt(1, publishProps); cControl.tpProp.Controls.AddAt(2, linkProps); // add preview to properties pane too addPreviewButton(cControl.tpProp.Menu, _document.Id); }
//PPH Handle doctype copies.. private void HandleDocumentTypeCopy() { cms.businesslogic.web.DocumentType eDt = new umbraco.cms.businesslogic.web.DocumentType(int.Parse(helper.Request("id"))); //Documentype exists.. create new doc type... if (eDt != null) { string Alias = rename.Text; cms.businesslogic.web.DocumentType dt = cms.businesslogic.web.DocumentType.MakeNew(base.getUser(), Alias.Replace("'", "''")); dt.IconUrl = eDt.IconUrl; dt.Thumbnail = eDt.Thumbnail; dt.Description = eDt.Description; dt.allowedTemplates = eDt.allowedTemplates; dt.DefaultTemplate = eDt.DefaultTemplate; dt.AllowedChildContentTypeIDs = eDt.AllowedChildContentTypeIDs; dt.MasterContentType = int.Parse(masterType.SelectedValue); Hashtable oldNewTabIds = new Hashtable(); foreach (cms.businesslogic.web.DocumentType.TabI tab in eDt.getVirtualTabs.ToList()) { if (tab.ContentType == eDt.Id) { int tId = dt.AddVirtualTab(tab.Caption); oldNewTabIds.Add(tab.Id, tId); } } foreach (cms.businesslogic.propertytype.PropertyType pt in eDt.PropertyTypes) { if (pt.ContentTypeId == eDt.Id) { cms.businesslogic.propertytype.PropertyType nPt = umbraco.cms.businesslogic.propertytype.PropertyType.MakeNew(pt.DataTypeDefinition, dt, pt.Name, pt.Alias); nPt.ValidationRegExp = pt.ValidationRegExp; nPt.SortOrder = pt.SortOrder; nPt.Mandatory = pt.Mandatory; nPt.Description = pt.Description; if (pt.TabId > 0 && oldNewTabIds[pt.TabId] != null) { int newTabId = (int)oldNewTabIds[pt.TabId]; nPt.TabId = newTabId; } } } string returnUrl = SystemDirectories.Umbraco + "/settings/EditNodeTypeNew.aspx?id=" + dt.Id.ToString(); dt.Save(); pane_settings.Visible = false; panel_buttons.Visible = false; feedback.Text = "Document type copied"; feedback.type = umbraco.uicontrols.Feedback.feedbacktype.success; ClientTools.ChangeContentFrameUrl(returnUrl); } }
override protected void OnInit(EventArgs e) { base.OnInit(e); //validate! int id; if (!int.TryParse(Request.QueryString["id"], out id)) { //if this is invalid show an error this.DisplayFatalError("Invalid query string"); return; } m_ContentId = id; this.UnPublish.Click += new System.EventHandler(this.UnPublishDo); //_document = new cms.businesslogic.web.Document(int.Parse(Request.QueryString["id"])); _document = new Document(true, id); //check if the doc exists if (string.IsNullOrEmpty(_document.Path)) { //if this is invalid show an error this.DisplayFatalError("No document found with id " + m_ContentId); //reset the content id to null so processing doesn't continue on OnLoad m_ContentId = null; return; } // we need to check if there's a published version of this document _documentHasPublishedVersion = _document.HasPublishedVersion(); // Check publishing permissions if (!base.getUser().GetPermissions(_document.Path).Contains(ActionPublish.Instance.Letter.ToString())) { _canPublish = controls.ContentControl.publishModes.SendToPublish; } cControl = new controls.ContentControl(_document, _canPublish, "TabView1"); cControl.ID = "TabView1"; cControl.Width = Unit.Pixel(666); cControl.Height = Unit.Pixel(666); // Add preview button foreach (uicontrols.TabPage tp in cControl.GetPanels()) { addPreviewButton(tp.Menu, _document.Id); } plc.Controls.Add(cControl); System.Web.UI.WebControls.PlaceHolder publishStatus = new PlaceHolder(); if (_documentHasPublishedVersion) { littPublishStatus.Text = ui.Text("content", "lastPublished", base.getUser()) + ": " + _document.VersionDate.ToShortDateString() + " "; publishStatus.Controls.Add(littPublishStatus); if (base.getUser().GetPermissions(_document.Path).IndexOf("U") > -1) { UnPublish.Visible = true; } else { UnPublish.Visible = false; } } else { littPublishStatus.Text = ui.Text("content", "itemNotPublished", base.getUser()); publishStatus.Controls.Add(littPublishStatus); UnPublish.Visible = false; } UnPublish.Text = ui.Text("content", "unPublish", base.getUser()); UnPublish.ID = "UnPublishButton"; UnPublish.Attributes.Add("onClick", "if (!confirm('" + ui.Text("defaultdialogs", "confirmSure", base.getUser()) + "')) return false; "); publishStatus.Controls.Add(UnPublish); publishProps.addProperty(ui.Text("content", "publishStatus", base.getUser()), publishStatus); // Template PlaceHolder template = new PlaceHolder(); cms.businesslogic.web.DocumentType DocumentType = new cms.businesslogic.web.DocumentType(_document.ContentType.Id); cControl.PropertiesPane.addProperty(ui.Text("documentType"), new LiteralControl(DocumentType.Text)); //template picker cControl.PropertiesPane.addProperty(ui.Text("template"), template); int defaultTemplate; if (_document.Template != 0) { defaultTemplate = _document.Template; } else { defaultTemplate = DocumentType.DefaultTemplate; } if (this.getUser().UserType.Name == "writer") { if (defaultTemplate != 0) { template.Controls.Add(new LiteralControl(cms.businesslogic.template.Template.GetTemplate(defaultTemplate).Text)); } else { template.Controls.Add(new LiteralControl(ui.Text("content", "noDefaultTemplate"))); } } else { ddlDefaultTemplate.Items.Add(new ListItem(ui.Text("choose") + "...", "")); foreach (cms.businesslogic.template.Template t in DocumentType.allowedTemplates) { ListItem tTemp = new ListItem(t.Text, t.Id.ToString()); if (t.Id == defaultTemplate) { tTemp.Selected = true; } ddlDefaultTemplate.Items.Add(tTemp); } template.Controls.Add(ddlDefaultTemplate); } // Editable update date, release date and expire date added by NH 13.12.04 dp.ID = "updateDate"; dp.Text = _document.UpdateDate.ToShortDateString() + " " + _document.UpdateDate.ToShortTimeString(); publishProps.addProperty(ui.Text("content", "updateDate", base.getUser()), dp); dpRelease.ID = "releaseDate"; dpRelease.DateTime = _document.ReleaseDate; dpRelease.ShowTime = true; publishProps.addProperty(ui.Text("content", "releaseDate", base.getUser()), dpRelease); dpExpire.ID = "expireDate"; dpExpire.DateTime = _document.ExpireDate; dpExpire.ShowTime = true; publishProps.addProperty(ui.Text("content", "expireDate", base.getUser()), dpExpire); // url's updateLinks(); linkProps.addProperty(ui.Text("content", "urls", base.getUser()), l); if (domainText.Text != "") { linkProps.addProperty(ui.Text("content", "alternativeUrls", base.getUser()), domainText); } cControl.Save += new System.EventHandler(Save); cControl.SaveAndPublish += new System.EventHandler(Publish); cControl.SaveToPublish += new System.EventHandler(SendToPublish); // Add panes to property page... cControl.tpProp.Controls.AddAt(1, publishProps); cControl.tpProp.Controls.AddAt(2, linkProps); // add preview to properties pane too addPreviewButton(cControl.tpProp.Menu, _document.Id); }
/// <summary> /// If the user has permissions to update, then add the template drop down list, otherwise just write out the template that is currently used. /// </summary> /// <param name="defaultTemplate"></param> /// <param name="template"></param> /// <param name="DocumentType"></param> private void AddTemplateDropDown(int defaultTemplate, ref PlaceHolder template, ref cms.businesslogic.web.DocumentType DocumentType) { string permissions = this.getUser().GetPermissions(_document.Path); if (permissions.IndexOf(ActionUpdate.Instance.Letter) >= 0) { ddlDefaultTemplate.Items.Add(new ListItem(ui.Text("choose") + "...", "")); foreach (cms.businesslogic.template.Template t in DocumentType.allowedTemplates) { ListItem tTemp = new ListItem(t.Text, t.Id.ToString()); if (t.Id == defaultTemplate) { tTemp.Selected = true; } ddlDefaultTemplate.Items.Add(tTemp); } template.Controls.Add(ddlDefaultTemplate); } else { if (defaultTemplate != 0) { template.Controls.Add(new LiteralControl(new cms.businesslogic.template.Template(defaultTemplate).Text)); } else { template.Controls.Add(new LiteralControl(ui.Text("content", "noDefaultTemplate"))); } } }