private XmlElement CreateTaskNode(Task t, XmlDocument xd) { Document d = new Document(t.Node.Id); XmlNode x = d.ToPreviewXml(xd);// xd.CreateNode(XmlNodeType.Element, "node", ""); XmlElement xTask = xd.CreateElement("task"); xTask.SetAttributeNode(xmlHelper.addAttribute(xd, "Id", t.Id.ToString())); xTask.SetAttributeNode(xmlHelper.addAttribute(xd, "Date", t.Date.ToString("s"))); xTask.SetAttributeNode(xmlHelper.addAttribute(xd, "NodeId", t.Node.Id.ToString())); xTask.SetAttributeNode(xmlHelper.addAttribute(xd, "TotalWords", cms.businesslogic.translation.Translation.CountWords(d.Id).ToString())); xTask.AppendChild(xmlHelper.addCDataNode(xd, "Comment", t.Comment)); string protocol = GlobalSettings.UseSSL ? "https" : "http"; xTask.AppendChild(xmlHelper.addTextNode(xd, "PreviewUrl", protocol + "://" + Request.ServerVariables["SERVER_NAME"] + SystemDirectories.Umbraco + "/translation/preview.aspx?id=" + t.Id.ToString())); // d.XmlPopulate(xd, ref x, false); xTask.AppendChild(x); return xTask; }
public void PrepareDocument(User user, Document documentObject, bool includeSubs) { _userId = user.Id; // clone xml XmlContent = (XmlDocument)content.Instance.XmlContent.Clone(); // inject current document xml int parentId = documentObject.Level == 1 ? -1 : documentObject.Parent.Id; XmlContent = content.AppendDocumentXml(documentObject.Id, documentObject.Level, parentId, documentObject.ToPreviewXml(XmlContent), XmlContent); if (includeSubs) { foreach (CMSPreviewNode prevNode in documentObject.GetNodesForPreview(true)) { XmlContent = content.AppendDocumentXml(prevNode.NodeId, prevNode.Level, prevNode.ParentId, XmlContent.ReadNode(XmlReader.Create(new StringReader(prevNode.Xml))), XmlContent); } } }
public void PrepareDocument(User user, Document documentObject, bool includeSubs) { _userId = user.Id; // clone xml XmlContent = (XmlDocument)content.Instance.XmlContent.Clone(); var previewNodes = new List<Document>(); var parentId = documentObject.Level == 1 ? -1 : documentObject.Parent.Id; while (parentId > 0 && XmlContent.GetElementById(parentId.ToString(CultureInfo.InvariantCulture)) == null) { var document = new Document(parentId); previewNodes.Insert(0, document); parentId = document.ParentId; } previewNodes.Add(documentObject); foreach (var document in previewNodes) { //Inject preview xml parentId = document.Level == 1 ? -1 : document.Parent.Id; var previewXml = document.ToPreviewXml(XmlContent); content.AppendDocumentXml(document.Id, document.Level, parentId, previewXml, XmlContent); } if (includeSubs) { foreach (var prevNode in documentObject.GetNodesForPreview(true)) { XmlContent = content.AppendDocumentXml(prevNode.NodeId, prevNode.Level, prevNode.ParentId, XmlContent.ReadNode(XmlReader.Create(new StringReader(prevNode.Xml))), XmlContent); } } }
private static XmlNode getPreviewOrPublishedNode(Document d, XmlDocument xmlContentCopy, bool isPreview) { if (isPreview) { return d.ToPreviewXml(xmlContentCopy); } else { return d.ToXml(xmlContentCopy, false); } }
/// <summary> /// Called when [render node]. /// </summary> /// <param name="xNode">The x node.</param> /// <param name="doc">The doc.</param> protected override void OnRenderNode(ref XmlTreeNode xNode, Document doc) { base.OnRenderNode(ref xNode, doc); var dataTypeId = this.GetDataTypeId(); var xpath = this.GetXPathFromCookie(dataTypeId); var xPathType = this.GetXPathFilterTypeFromCookie(dataTypeId); // resolves any Umbraco params in the XPath xpath = uQuery.ResolveXPath(xpath); var xDoc = new XmlDocument(); XmlNode xmlDoc; if (!doc.Published) { xmlDoc = doc.ToPreviewXml(xDoc); } else { xmlDoc = doc.ToXml(xDoc, false); } var xmlString = "<root>" + xmlDoc.OuterXml + "</root>"; var xml = XElement.Parse(xmlString); xNode.DetermineClickable(xpath, xPathType, xml); //ensure that the NodeKey is passed through xNode.Source = this.GetTreeServiceUrlWithParams(int.Parse(xNode.NodeID), dataTypeId); }
private XmlNode GetContentXmlNode(string nodeId) { // try to get node from XML cache XmlNode xmlNode = content.Instance.XmlContent.GetElementById(nodeId); if (xmlNode == null) { // if unpublished, get from Document (database) var doc = new Document(int.Parse(nodeId)); if (doc != null) { // get the preview XML xmlNode = doc.ToPreviewXml(new XmlDocument()); } } return xmlNode; }
public void PrepareDocument(User user, Document documentObject, bool includeSubs) { _userId = user.Id; // clone xml XmlContent = (XmlDocument)content.Instance.XmlContent.Clone(); var previewNodes = new List<Document>(); var parentId = documentObject.Level == 1 ? -1 : documentObject.Parent.Id; while (parentId > 0 && XmlContent.GetElementById(parentId.ToString(CultureInfo.InvariantCulture)) == null) { var document = new Document(parentId); previewNodes.Insert(0, document); parentId = document.ParentId; } previewNodes.Add(documentObject); foreach (var document in previewNodes) { //Inject preview xml parentId = document.Level == 1 ? -1 : document.Parent.Id; var previewXml = document.ToPreviewXml(XmlContent); if (document.Content.Published == false && ApplicationContext.Current.Services.ContentService.HasPublishedVersion(document.Id)) previewXml.Attributes.Append(XmlContent.CreateAttribute("isDraft")); content.AppendDocumentXml(document.Id, document.Level, parentId, previewXml, XmlContent); } if (includeSubs) { foreach (var prevNode in documentObject.GetNodesForPreview(true)) { var previewXml = XmlContent.ReadNode(XmlReader.Create(new StringReader(prevNode.Xml))); if (prevNode.IsDraft) previewXml.Attributes.Append(XmlContent.CreateAttribute("isDraft")); XmlContent = content.AppendDocumentXml(prevNode.NodeId, prevNode.Level, prevNode.ParentId, previewXml, XmlContent); } } }