public static Content CreateContentFromRequest(string contentTypeName, string contentName, string parentPath, bool templated) { // TODO: templated parameter has become unused. Node parentNode; if (String.IsNullOrEmpty(contentTypeName ?? (contentTypeName = GetContentTypeNameFromRequest()))) { return(null); } if (String.IsNullOrEmpty(parentPath ?? (parentPath = GetRequestParameter("ParentPath")))) { parentNode = PortalContext.Current.ContextNode; } else { parentNode = Node.LoadNode(parentPath); } if (parentNode == null) { throw new ApplicationException("Cannot create a new Content: invalid parent"); } if (String.IsNullOrEmpty(contentName ?? (contentName = GetRequestParameter("ContentName")))) { contentName = contentTypeName; } var fieldData = RecognizeFieldParameters(contentTypeName); var contentType = ContentType.GetByName(contentTypeName); if (contentType == null) { // full template path is given as content type name if (fieldData.Count == 0) { return(ContentTemplate.CreateTemplated(parentNode.Path, contentTypeName)); } else { var template = Node.LoadNode(contentTypeName); if (template != null) { return(ContentTemplate.CreateTemplatedAndParse(parentNode, template, template.Name, fieldData)); } } } return(Content.CreateNewAndParse(contentTypeName, parentNode, contentName, fieldData)); }