�������������� ��������� � ��������� ����.
 /// <summary>
 /// ������� �� ��������� ��� ��������� ��������.
 /// </summary>
 /// <param name="formatter">���������.</param>
 /// <param name="image">������������� ���������� ���� [img].</param>
 /// <returns>������������ ���.</returns>
 protected static string DefaultProcessImagesDelegate(TextFormatter formatter, Match image)
 {
     return formatter.ProcessImages(image);
 }
Example #2
0
		private static string BuildHTMLPage(
			IServiceProvider provider,
			IList<IMsg> msgs,
			ProgressDelegate pd,
			bool processSmiles,
			Encoding encoding)
		{
			var formatter = new TextFormatter();
			var sb = new StringBuilder();
			var forum = new Forum(provider);
			forum.LoadData(msgs[0].ForumID);
			sb.AppendFormat(
				@"<tr><td class='s' colspan='2' align='center'>{0}&nbsp;<font size='1'>[{1}]</font></td></tr>",
				forum.Description, forum.Name);

			string messageFormat;
			using (var rd = new StreamReader(Assembly.GetExecutingAssembly().GetRequiredResourceStream(_messageFormatResource)))
				messageFormat = rd.ReadToEnd();

			var i = 0;
			foreach (var msg in msgs)
			{
				var formattedRating = msg.GetFormattedRating();

				sb.AppendFormat(
					messageFormat,
					msg.ID,
					msg.Subject,
					msg.ParentID,
					SR.Forum.ExportMessages.Export2ParentLink,
					msg.UserNick,
					FormatUserClass((UserClass)msg.UserClass, true),
					msg.Date,
					string.IsNullOrEmpty(formattedRating)
						? string.Empty
						: SR.TGColumnRate + " " + formattedRating,
					formatter.Format(msg.Body, processSmiles));

				i++;
				pd(i, msgs.Count);
			}

			string exportPageFormat;
			using (var rd = new StreamReader(Assembly.GetExecutingAssembly().GetRequiredResourceStream(_exportPageResource)))
				exportPageFormat = rd.ReadToEnd();

			string exportForumStyle;
			using (var rd = new StreamReader(Assembly.GetExecutingAssembly().GetRequiredResourceStream(_exportForumResource)))
				exportForumStyle = rd.ReadToEnd();

			return
				string.Format(
					exportPageFormat,
					forum.Description + " [" + forum.Name + "]",
					encoding.HeaderName,
					exportForumStyle,
					sb);
		}
Example #3
0
		private static string GetSourceCode(string code, string ext, string source)
		{
			switch (ext)
			{
				case ".cpp":    code = "[c]"    + code + "[/c]";    break;
				case ".cs":     code = "[c#]"   + code + "[/c#]";   break;
				case ".vb":     code = "[vb]"   + code + "[/vb]";   break;
				case ".xml":
				case ".config": code = "[xml]"  + code + "[/xml]";  break;
				case ".sql":    code = "[sql]"  + code + "[/sql]";  break;
				default   :     code = "[code]" + code + "[/code]"; break;
			}

			code = code
				.Replace("/*[", "[")
				.Replace("]*/", "]")
				;

			code = new TextFormatter().Format(code, false);

			if (source.IndexOf("<a name='Person'></a>") >= 0)
				code = code
					.Replace("&lt;Person&gt;", "&lt;<a class=m href=#Person>Person</a>&gt;")
					.Replace(", Person&gt;",   ", <a class=m href=#Person>Person</a>&gt;")
					.Replace("  Person ",      "  <a class='m' href=#Person>Person</a> ")
					.Replace(" Person()",      " <a class='m' href=#Person>Person</a>()")
					.Replace("(Person ",       "(<a class='m' href=#Person>Person</a> ")
					;

			return code
				.Replace("\n",      "\r\n")
				.Replace("\r\r\n",  "\r\n")
				.Replace("<table width='96%'>", "<table width='100%' class='code'>")
				.Replace("<pre>",   "<pre class='code'>")
				.Replace("[a]",     "<span class='a'>")
				.Replace("[/a]",    "</span>")
				.Replace("[link]",  "<a ")
				.Replace("[/link]", "</a>")
				.Replace("[file]",  "href='/Source/")
				.Replace("[/file]", ".htm'>")
				.Replace("&lt;!--", "<span class='com'>&lt;!--")
				.Replace("--&gt;",  "--&gt;</span>")
				;
		}