Example #1
0
        public static string GetDefaultTemplateText(string targetFilename, string caption, string sourceFilename)
        {
            var filenameOnly = Path.GetFileName(targetFilename);
            var filepathOnly = Path.GetDirectoryName(targetFilename);
            //string relativeUri = EditorTabPage.GetRelativeUriString (sourceFilename, targetFilename);
            string backlink = EditorTabPage.GetRelativeUriString(targetFilename, sourceFilename);

            var links = new StringBuilder();

            links.AppendFormat("<a href=\"{0}\">{1}</a>", backlink, GetTextTitleFromFile(sourceFilename));
            string defaultDocumentName = Globals.DefaultIndexFileName;

            if (defaultDocumentName.CompareTo(filenameOnly) != 0 && // If we create a page link from index.htm, there is no need to add it twice
                defaultDocumentName.CompareTo(backlink) != 0     // If we create **/index.htm, there is no need to link to itself
                )
            {
                var indexfullpath = Path.Combine(filepathOnly, defaultDocumentName);
                var indextitle    = GetTextTitleFromFile(indexfullpath);
                links.Append(",");
                links.Append(Environment.NewLine);
                links.AppendFormat("<a href=\"{0}\">{1}</a>", defaultDocumentName, indextitle);
            }

            var par = new StringBuilder();

            par.AppendFormat("title={0}", Uri.EscapeDataString(caption));
            par.Append("&");
            par.AppendFormat("header={0}", Uri.EscapeDataString(caption));
            par.Append("&");

            var escapedString = Uri.EscapeDataString(links.ToString());

            par.AppendFormat("links={0}", escapedString);
            // A potentially dangerous Request.QueryString value was detected from the client

            string text = TemplateEngine2.ProcessRequest("Text1.aspx", par.ToString());

            return(text);
        }