Разберем viewtopic_body.html на кусочки

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Разберем viewtopic_body.html на кусочки

Сообщение Пчелкин »

Работаем со стилем prosilver

Ни для кого не секрет, что все, что мы мудрим и правим на форуме в виде правок, модов, хаков и различных переделок, в большей степени касается именно того, что называется "Темы" (topic) и "Сообщения" (post).
А так как, за вывод на форуме этих двух штук отвечает один файл - viewtopic_body.html, давайте попробуем разобраться в том, как он устроен и какие в нем штучки, в виде наборов буквочек и закорючек, за что отвечают....
Откроем стандартный файл viewtopic_body.html из дистрибутива форума и порезав его на кусочки, попробуем расписать назначение всех этих кусочков.
Открываем его, конечно, самым простым и понятным Блокнотом++ и с удивлением видим, что в нем все слишком сложно и не понятно.
Во-первых, в файле много цветных буквочек и они, странным образом, переплетаются в какую-то стройную структуру, которая на первый взгляд, кажется непонятной.
Но это только на первый взгляд. На самом деле все просто...
Во-вторых - все строчки в файле имеют какой-то непонятный порядок расположения. Хотя на самом деле (а вы об этом уже должны знать) - все тоже просто.
Давайте все же посмотрим на файл глазами Блокнота++, что бы увидеть его во всей красе...

Вот его полный код...Версия двига 3.0.11 prosilver

Код: Выделить всё

<!-- INCLUDE overall_header.html -->
<!-- IF U_MCP --><p>[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]</p><!-- ENDIF -->
<h2><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a></h2>
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->
<!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF -->

<!-- IF MODERATORS -->
<p>
	<strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->:</strong> {MODERATORS}
</p>
<!-- ENDIF -->

<!-- IF S_FORUM_RULES -->
	<div class="rules">
		<div class="inner"><span class="corners-top"><span></span></span>

		<!-- IF U_FORUM_RULES -->
			<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
		<!-- ELSE -->
			<strong>{L_FORUM_RULES}</strong><br />
			{FORUM_RULES}
		<!-- ENDIF -->

		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->

<div class="topic-actions">

	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>

	<!-- IF S_DISPLAY_SEARCHBOX -->
		<div class="search-box">
			<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
			<fieldset>
				<input class="inputbox search tiny"  type="text" name="keywords" id="search_keywords" size="20" value="{L_SEARCH_TOPIC}" onclick="if(this.value=='{LA_SEARCH_TOPIC}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_TOPIC}';" />
				<input class="button2" type="submit" value="{L_SEARCH}" />
				{S_SEARCH_LOCAL_HIDDEN_FIELDS}
			</fieldset>
			</form>
		</div>
	<!-- ENDIF -->

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			<!-- IF U_VIEW_UNREAD_POST and not S_IS_BOT --><a href="{U_VIEW_UNREAD_POST}">{L_VIEW_UNREAD_POST}</a> &bull; <!-- ENDIF -->{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->

</div>
<div class="clear"></div>

<!-- IF S_HAS_POLL -->
	<form method="post" action="{S_POLL_ACTION}">

	<div class="panel">
		<div class="inner"><span class="corners-top"><span></span></span>

		<div class="content">
			<h2>{POLL_QUESTION}</h2>
			<p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE -->{L_MAX_VOTES}<!-- ENDIF --></p>

			<fieldset class="polls">
			<!-- BEGIN poll_option -->
				<dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF -->>
					<dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
					<!-- IF S_CAN_VOTE --><dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
					<!-- IF S_DISPLAY_RESULTS --><dd class="resultbar"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT};">{poll_option.POLL_OPTION_RESULT}</div></dd>
					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd><!-- ENDIF -->
				</dl>
			<!-- END poll_option -->

			<!-- IF S_DISPLAY_RESULTS -->
				<dl>
					<dt>&nbsp;</dt>
					<dd class="resultbar">{L_TOTAL_VOTES} : {TOTAL_VOTES}</dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF S_CAN_VOTE -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF not S_DISPLAY_RESULTS -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
				</dl>
			<!-- ENDIF -->
			</fieldset>
		</div>

		<span class="corners-bottom"><span></span></span></div>
		{S_FORM_TOKEN}
		{S_HIDDEN_FIELDS}
	</div>


	</form>
	<hr />
<!-- ENDIF -->

<!-- BEGIN postrow -->
	<!-- IF postrow.S_FIRST_UNREAD --><a id="unread"></a><!-- ENDIF -->
	<div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_ONLINE and not postrow.S_IGNORE_POST --> online<!-- ENDIF -->">
		<div class="inner"><span class="corners-top"><span></span></span>

		<div class="postbody">
			<!-- IF postrow.S_IGNORE_POST -->
				<div class="ignore">{postrow.L_IGNORE_POST}</div>
			<!-- ELSE -->

		<!-- IF not S_IS_BOT -->
			<!-- IF postrow.U_EDIT or postrow.U_DELETE or postrow.U_REPORT or postrow.U_WARN or postrow.U_INFO or postrow.U_QUOTE -->
				<ul class="profile-icons">
					<!-- IF postrow.U_EDIT --><li class="edit-icon"><a href="{postrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_DELETE --><li class="delete-icon"><a href="{postrow.U_DELETE}" title="{L_DELETE_POST}"><span>{L_DELETE_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_REPORT --><li class="report-icon"><a href="{postrow.U_REPORT}" title="{L_REPORT_POST}"><span>{L_REPORT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WARN --><li class="warn-icon"><a href="{postrow.U_WARN}" title="{L_WARN_USER}"><span>{L_WARN_USER}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_INFO --><li class="info-icon"><a href="{postrow.U_INFO}" title="{L_INFORMATION}"><span>{L_INFORMATION}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_QUOTE --><li class="quote-icon"><a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>{L_REPLY_WITH_QUOTE}</span></a></li><!-- ENDIF -->
				</ul>
			<!-- ENDIF -->
		<!-- ENDIF -->

			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
			<p class="author"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF -->{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> &raquo; {postrow.POST_DATE} </p>

			<!-- IF postrow.S_POST_UNAPPROVED or postrow.S_POST_REPORTED -->
				<p class="rules">
					<!-- IF postrow.S_POST_UNAPPROVED -->{UNAPPROVED_IMG} <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_UNAPPROVED}</strong></a><br /><!-- ENDIF -->
					<!-- IF postrow.S_POST_REPORTED -->{REPORTED_IMG} <a href="{postrow.U_MCP_REPORT}"><strong>{L_POST_REPORTED}</strong></a><!-- ENDIF -->
				</p>
			<!-- ENDIF -->

			<div class="content">{postrow.MESSAGE}</div>

			<!-- IF postrow.S_HAS_ATTACHMENTS -->
				<dl class="attachbox">
					<dt>{L_ATTACHMENTS}</dt>
					<!-- BEGIN attachment -->
						<dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
					<!-- END attachment -->
				</dl>
			<!-- ENDIF -->

			<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
			<!-- IF postrow.EDITED_MESSAGE or postrow.EDIT_REASON -->
				<div class="notice">{postrow.EDITED_MESSAGE}
					<!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}:</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
				</div>
			<!-- ENDIF -->

			<!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
			<!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
		<!-- ENDIF -->

		</div>

		<!-- IF not postrow.S_IGNORE_POST -->
			<dl class="postprofile" id="profile{postrow.POST_ID}">
			<dt>
				<!-- IF postrow.POSTER_AVATAR -->
					<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
				<!-- ENDIF -->
				<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
			</dt>

			<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->

		<dd>&nbsp;</dd>

		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->

		<!-- IF postrow.S_PROFILE_FIELD1 -->
			<!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
			<dd><strong>{postrow.PROFILE_FIELD1_NAME}:</strong> {postrow.PROFILE_FIELD1_VALUE}</dd>
		<!-- ENDIF -->

		<!-- BEGIN custom_fields -->
			<dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
		<!-- END custom_fields -->

		<!-- IF not S_IS_BOT -->
		<!-- IF postrow.U_PM or postrow.U_EMAIL or postrow.U_WWW or postrow.U_MSN or postrow.U_ICQ or postrow.U_YIM or postrow.U_AIM or postrow.U_JABBER -->
			<dd>
				<ul class="profile-icons">
					<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}"><span>{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
				</ul>
			</dd>
		<!-- ENDIF -->
		<!-- ENDIF -->

		</dl>
	<!-- ENDIF -->

		<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>

		<span class="corners-bottom"><span></span></span></div>
	</div>

	<hr class="divider" />
<!-- END postrow -->
<!-- IF S_QUICK_REPLY -->
	<!-- INCLUDE quickreply_editor.html -->
<!-- ENDIF -->
<!-- IF S_NUM_POSTS > 1 or PREVIOUS_PAGE -->
	<form id="viewtopic" method="post" action="{S_TOPIC_ACTION}">

	<fieldset class="display-options" style="margin-top: 0; ">
		<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left-box {S_CONTENT_FLOW_BEGIN}">{L_PREVIOUS}</a><!-- ENDIF -->
		<!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right-box {S_CONTENT_FLOW_END}">{L_NEXT}</a><!-- ENDIF -->
		<!-- IF not S_IS_BOT -->
		<label>{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS}</label>
		<label>{L_SORT_BY} {S_SELECT_SORT_KEY}</label> <label>{S_SELECT_SORT_DIR} <input type="submit" name="sort" value="{L_GO}" class="button2" /></label>
		<!-- ENDIF -->
	</fieldset>

	</form>
	<hr />
<!-- ENDIF -->

<div class="topic-actions">
	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
</div>

<!-- INCLUDE jumpbox.html -->

<!-- IF S_TOPIC_MOD -->
	<form method="post" action="{S_MOD_ACTION}">
	<fieldset class="quickmod">
		<label for="quick-mod-select">{L_QUICK_MOD}:</label> {S_TOPIC_MOD} <input type="submit" value="{L_GO}" class="button2" />
		{S_FORM_TOKEN}
	</fieldset>
	</form>
<!-- ENDIF -->

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
	<p>{LOGGED_IN_USER_LIST}</p>
<!-- ENDIF -->

<!-- INCLUDE overall_footer.html -->
Что мы видим, в первую очередь, интересного? Что-то все цветное и загадочное...
Мда...тогда давайте во всем разбираться по порядку.
Что такого интересного мы замечаем в этом файле сразу ?
Ну, конечно, сразу - это зелененькие слова заключенные в такие вот маленькие стрелочки с двух сторон -
<!-- IF MODERATORS --> , <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->, <!-- IF S_DISPLAY_SEARCHBOX --> и прочее...
Эти "умные" кусочки кода - условия...Это те самые условия, которые лучше нас знают о том, где и что брать и для кого эту информацию выводить...(ту, которая заключена в зону их влияния)...при этом условия эти всегда имеют начало и конец.
Спорить с этими "умными" закорючками бесполезно. Не переспоришь. Лучше ими умно управлять!!!
Этих условий много и писать подробно о назначении каждого - задача совсем другого материала и не сейчас...
Надо только помнить ГЛАВНОЕ ПРАВИЛО этих условий : любое условие вида (например) <!-- IF MODERATORS --> должно обязательно иметь свою вторую половинку - окончание своего действия (условия) - <!-- ENDIF -->
И любое количество условий в файлах HTML должны быть парными - начало и конец...
Правда есть небольшое отступление. Это еще один код, который обильно попадается в таких файлах. Это - <!-- ELSE -->. Дословно его значение можно перевести так - ИНАЧЕ, ЛИБО, В ЗАВИСИМОСТИ, ВОЗМОЖНО...
Помните - наличие такого кусочка кода говорит о том, что в этом месте возможен выбор условий или методов вывода информации в зависимости от... да от много.. от прав...от членства...от других условий, под которые попали эти (и такое бывает).
О самом важном в файлах HTML поговорили, а теперь начнем разбираться с каждым кусочком нашего
viewtopic_body.html

В самом верху открытого файла нас встречает файл-команда вывода шапки нашего форума, за которую отвечает файл overall_header.html.
А команда на показ шапки в нашем файле viewtopic_body.html выглядит так - <!-- INCLUDE overall_header.html -->.
Делаем вывод, что такой вид системных тегов - <!-- INCLUDE тут что-то написано.html --> и есть код на вывод в данном месте информации из другого стороннего файла.
Это можно назвать "вмуровыванием" одного файла в другой, в данном случае, в нами рассматриваемый файл viewtopic_body.html, происходит "вмуровывание" файла шапки overall_header.html.
И в самом низу нашего файла viewtopic_body.html есть еще один код <!-- INCLUDE overall_footer.html -->, который выводит нам через системный файл overall_footer.html "подвал" форума (самый его низ, который всегда сопровождает нас, как и шапка, по всему форуму).

Вот шапка нормального стандартного форума -
snap1068.jpg
А это "подвал" стандартного форума -
snap1067.jpg
Для сравнения:
"Шапка" сильно модифицированного форума -
Нестандартный вариант №01
snap1069.jpg
А это "подвал" сильно модифицированного форума
Нестандартный вариант №02
snap1070.jpg
Опускаемся ниже по файлу viewtopic_body.html и показав его очередную часть кода, будем описывать его предназначение.

- Вход в Модераторский раздел.

Код: Выделить всё

<!-- IF U_MCP --><p>[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]</p><!-- ENDIF -->
snap1071.jpg
Нестандартный вариант №03
snap1074.jpg
Есть одно наблюдение...в том месте, где по стандарту должен находиться это блок, я практически его ни у кого не видел...все админы двигают этот кусочек туда, где он им удобней...это не смертельно...У меня он вообще удален, а вход в Модераторский раздел прилеплен к списку модераторов ниже названия темы...

- Название темы

Код: Выделить всё

<h2><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a></h2>
snap1072.jpg
Нестандартный вариант №04
snap1075.jpg
- Код блока вывода модераторов данного форума и естественно модераторов этой темы

Код: Выделить всё

<!-- IF MODERATORS -->
<p>
	<strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->:</strong> {MODERATORS}
</p>
<!-- ENDIF -->
snap1073.jpg
Нестандартный вариант №05
snap1077.jpg
- Код блока вывода, так называемых, ПРАВИЛ ФОРУМА (подфорума) , в котором открыта эта тема.

Код: Выделить всё

<!-- IF S_FORUM_RULES -->
	<div class="rules">
		<div class="inner"><span class="corners-top"><span></span></span>

		<!-- IF U_FORUM_RULES -->
			<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
		<!-- ELSE -->
			<strong>{L_FORUM_RULES}</strong><br />
			{FORUM_RULES}
		<!-- ENDIF -->

		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->
Через этот блок выводится именно та информация, которую вы забиваете в админке в самом низу в настройках каждой категории, форума или подфорума...
Несколько примеров:
snap1078.jpg
snap1079.jpg
snap1080.jpg
- Код блока кнопки "Ответить" и естественно, кнопки "Тема закрыта"

Код: Выделить всё

	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>
- Код блока функции "поиск по теме"

Код: Выделить всё

	<!-- IF S_DISPLAY_SEARCHBOX -->
		<div class="search-box">
			<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
			<fieldset>
				<input class="inputbox search tiny"  type="text" name="keywords" id="search_keywords" size="20" value="{L_SEARCH_TOPIC}" onclick="if(this.value=='{LA_SEARCH_TOPIC}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_TOPIC}';" />
				<input class="button2" type="submit" value="{L_SEARCH}" />
				{S_SEARCH_LOCAL_HIDDEN_FIELDS}
			</fieldset>
			</form>
		</div>
	<!-- ENDIF -->
- Код блока вывода количества сообщений в теме, количества страниц в теме и кнопочек перехода на другие страницы темы, если они есть (пагинация).

Код: Выделить всё

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			<!-- IF U_VIEW_UNREAD_POST and not S_IS_BOT --><a href="{U_VIEW_UNREAD_POST}">{L_VIEW_UNREAD_POST}</a> &bull; <!-- ENDIF -->{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
И все три эти кусочка составляют вот такую графическую картинку...
snap1081.jpg
Код блока вывода созданного в теме опроса...отмечу особо - только вывода....

Код: Выделить всё

<!-- IF S_HAS_POLL -->
	<form method="post" action="{S_POLL_ACTION}">

	<div class="panel">
		<div class="inner"><span class="corners-top"><span></span></span>

		<div class="content">
			<h2>{POLL_QUESTION}</h2>
			<p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE -->{L_MAX_VOTES}<!-- ENDIF --></p>

			<fieldset class="polls">
			<!-- BEGIN poll_option -->
				<dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF -->>
					<dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
					<!-- IF S_CAN_VOTE --><dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
					<!-- IF S_DISPLAY_RESULTS --><dd class="resultbar"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT};">{poll_option.POLL_OPTION_RESULT}</div></dd>
					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd><!-- ENDIF -->
				</dl>
			<!-- END poll_option -->

			<!-- IF S_DISPLAY_RESULTS -->
				<dl>
					<dt>&nbsp;</dt>
					<dd class="resultbar">{L_TOTAL_VOTES} : {TOTAL_VOTES}</dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF S_CAN_VOTE -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF not S_DISPLAY_RESULTS -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
				</dl>
			<!-- ENDIF -->
			</fieldset>
		</div>
		<span class="corners-bottom"><span></span></span></div>
		{S_FORM_TOKEN}
		{S_HIDDEN_FIELDS}
	</div>
	</form>
	<hr />
<!-- ENDIF -->
Вот так он выглядит на ГУРУ...
b0e758f6fc37[1].jpg
С этого места в файле идут коды вывода самих сообщений в теме...

Код начала блока вывода сообщений...

Код: Выделить всё

<!-- BEGIN postrow -->
	<!-- IF postrow.S_FIRST_UNREAD --><a id="unread"></a><!-- ENDIF -->
Код, на котором заканчивается блок вывода сообщений -

Код: Выделить всё

		<span class="corners-bottom"><span></span></span></div>
	</div>

	<hr class="divider" />
<!-- END postrow -->


Теперь разберем на кусочки блок сообщений...Он состоит из трех частей -
1. Блок информации с названием темы (сообщения), автором и временем размещения данного сообщения.
2. Блок самого сообщения с содержимым сообщения, различной специнформации, с подписью автора данного сообщения, информацией о правке, информацией о вложениях.
3. Блок минипрофиля автора данного сообщения.


1. Блок информации с названием темы (сообщения), автором, временем размещения данного сообщения, информации о жалобе и премодерации.

Смотрим на все коды по порядку расположения их в файле viewtopic_body.html

Код отвечает за порядок вывода информации в блоке сообщения...

Код: Выделить всё

	<div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_ONLINE and not postrow.S_IGNORE_POST --> online<!-- ENDIF -->">
Код, который закрывает сообщение в том случае, если вами автор сообщения добавлен в функцию "Игнор"....

Код: Выделить всё

		<div class="postbody">
			<!-- IF postrow.S_IGNORE_POST -->
				<div class="ignore">{postrow.L_IGNORE_POST}</div>
			<!-- ELSE -->
Код вывода кнопок управления сообщением...каждая кнопка под своими "особыми" правами...

Код: Выделить всё

		<!-- IF not S_IS_BOT -->
			<!-- IF postrow.U_EDIT or postrow.U_DELETE or postrow.U_REPORT or postrow.U_WARN or postrow.U_INFO or postrow.U_QUOTE -->
				<ul class="profile-icons">
					<!-- IF postrow.U_EDIT --><li class="edit-icon"><a href="{postrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_DELETE --><li class="delete-icon"><a href="{postrow.U_DELETE}" title="{L_DELETE_POST}"><span>{L_DELETE_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_REPORT --><li class="report-icon"><a href="{postrow.U_REPORT}" title="{L_REPORT_POST}"><span>{L_REPORT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WARN --><li class="warn-icon"><a href="{postrow.U_WARN}" title="{L_WARN_USER}"><span>{L_WARN_USER}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_INFO --><li class="info-icon"><a href="{postrow.U_INFO}" title="{L_INFORMATION}"><span>{L_INFORMATION}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_QUOTE --><li class="quote-icon"><a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>{L_REPLY_WITH_QUOTE}</span></a></li><!-- ENDIF -->
				</ul>
			<!-- ENDIF -->
		<!-- ENDIF -->
Код вывода иконок сообщения, если они назначены....
Вот этих -
308b2180f4a7.jpg

Код: Выделить всё

			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
Код вывода значка "смотрено -не смотрено", информации об авторе сообщения и времени его создания...

Код: Выделить всё

			<p class="author"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF -->{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> &raquo; {postrow.POST_DATE} </p>
Код вывода информации о том, что на сообщение отправлена жалоба, о том, что сообщение нуждается в премодерации модераторами форума...

Код: Выделить всё

			<!-- IF postrow.S_POST_UNAPPROVED or postrow.S_POST_REPORTED -->
				<p class="rules">
					<!-- IF postrow.S_POST_UNAPPROVED -->{UNAPPROVED_IMG} <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_UNAPPROVED}</strong></a><br /><!-- ENDIF -->
					<!-- IF postrow.S_POST_REPORTED -->{REPORTED_IMG} <a href="{postrow.U_MCP_REPORT}"><strong>{L_POST_REPORTED}</strong></a><!-- ENDIF -->
				</p>
			<!-- ENDIF -->
2. Блок самого сообщения с содержимым сообщения, различной специнформации, с подписью автора данного сообщения, информацией о правке, информацией о вложениях.

Это самое главное и самое интересное - код выборки из базы данных самих текстов сообщений...

Код: Выделить всё

			<div class="content">{postrow.MESSAGE}</div>
Код вывода информации о вложениях в сообщение...
Здесь выводится все - и название файла, и его просмотр, если это ИЗО, и добавочное описание к вложению автором...
Ну и это сообщение тоже здесь - У вас нет необходимых прав для просмотра вложений в этом сообщении

Код: Выделить всё

			<!-- IF postrow.S_HAS_ATTACHMENTS -->
				<dl class="attachbox">
					<dt>{L_ATTACHMENTS}</dt>
					<!-- BEGIN attachment -->
						<dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
					<!-- END attachment -->
				</dl>
			<!-- ENDIF -->

			<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
Код вывода информации о причине правки сообщения: кем, когда и сколько раз...

Код: Выделить всё

			<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
			<!-- IF postrow.EDITED_MESSAGE or postrow.EDIT_REASON -->
				<div class="notice">{postrow.EDITED_MESSAGE}
					<!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}:</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
				</div>
			<!-- ENDIF -->

			<!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
Код вывода подписей авторов сообщений, если подпись заполнена автором сообщения в его Личном центре....

Код: Выделить всё

			<!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
Часть первая и вторая может выглядеть у всех по разному.
Возможности управлять ее видом - не ограничены. Все зависит от желания и навыка.


Несколько примеров вывода самих сообщений
snap1082.jpg
snap1083.jpg
snap1084.jpg
snap1085.jpg
3. Блок минипрофиля автора данного сообщения.

Код вывода аватарок, никнейма и звания автора сообщения...

Код: Выделить всё

				<!-- IF postrow.POSTER_AVATAR -->
					<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
				<!-- ENDIF -->
				<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
			</dt>

			<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->
Код вывода различной статистической информации об авторе сообщения...тут каждый изгаляется как может...
Возможности не ограничены...

Код: Выделить всё

		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Код вывода кнопок на личные сообщения, веб странички, джаббер, емейл, скайп и прочее...
Значки выводятся только в том случае, если соответствующие поля включены администрацией в админке и заполнены пользователем...
Каждая кнопка тоже находится под своим индивидуальным условием...

Код: Выделить всё

		<!-- IF not S_IS_BOT -->
		<!-- IF postrow.U_PM or postrow.U_EMAIL or postrow.U_WWW or postrow.U_MSN or postrow.U_ICQ or postrow.U_YIM or postrow.U_AIM or postrow.U_JABBER -->
			<dd>
				<ul class="profile-icons">
					<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}"><span>{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
				</ul>
			</dd>
		<!-- ENDIF -->
		<!-- ENDIF -->
Код кнопки возврата на самый верх темы....

Код: Выделить всё

		<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
На этом часть кода стандартного минипрофиля заканчивается...
Смотрятся минипрофили у всех по разному...есть правосторонние...есть левосторонние...

Несколько примеров минипрофилей -
snap1086.jpg
snap1087.jpg
snap1088.jpg
snap1089.jpg
Поехали дальше гулять по файлу viewtopic_body.html Осталось немного....

Код вывода формы быстрого ответа...

Код: Выделить всё

<!-- IF S_QUICK_REPLY -->
	<!-- INCLUDE quickreply_editor.html -->
<!-- ENDIF -->
Код блока вывода ссылок на "следующая" и "предыдущая" страницы темы и кнопочек выбора сортировки сообщений в теме...

Код: Выделить всё

<!-- IF S_NUM_POSTS > 1 or PREVIOUS_PAGE -->
	<form id="viewtopic" method="post" action="{S_TOPIC_ACTION}">

	<fieldset class="display-options" style="margin-top: 0; ">
		<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left-box {S_CONTENT_FLOW_BEGIN}">{L_PREVIOUS}</a><!-- ENDIF -->
		<!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right-box {S_CONTENT_FLOW_END}">{L_NEXT}</a><!-- ENDIF -->
		<!-- IF not S_IS_BOT -->
		<label>{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS}</label>
		<label>{L_SORT_BY} {S_SELECT_SORT_KEY}</label> <label>{S_SELECT_SORT_DIR} <input type="submit" name="sort" value="{L_GO}" class="button2" /></label>
		<!-- ENDIF -->
	</fieldset>
	</form>
	<hr />
<!-- ENDIF -->


А выглядит весь блок так...
95d7b713e93e[1].jpg
Код вывода кнопки "Ответить" и соответственно кнопки "Тема закрыта"...

Код: Выделить всё

	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>
Код вывода кнопок пагинации...

Код: Выделить всё

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
Вместе последние два куста кода выглядят так...
snap1092.jpg
Очень интересная часть файла...пример как один файл вмурован в другой...

В файл viewtopic_body.html вставлен другой исполняемый файл jumpbox.html со своими особыми правами и настройкой из админки. Файл jumpbox.html отвечает за быстрый переход в другие форумы или подфорумы с вплывающими менюшками выбора для перехода...

Код: Выделить всё

<!-- INCLUDE jumpbox.html -->


Выглядит это так -
snap1093.jpg
Код блока быстрых действий с сообщениями или темой, так называемые "Быстрые операции".
В основном виден только модераторам и пользователям с особыми правами на форуме.

Код: Выделить всё

<!-- IF S_TOPIC_MOD -->
	<form method="post" action="{S_MOD_ACTION}">
	<fieldset class="quickmod">
		<label for="quick-mod-select">{L_QUICK_MOD}:</label> {S_TOPIC_MOD} <input type="submit" value="{L_GO}" class="button2" />
		{S_FORM_TOKEN}
	</fieldset>
	</form>
<!-- ENDIF -->
Вот она -
snap1090.jpg
Код блока вывода информации о том, кто на форуме, а конкретно в этой, просматриваемой теме..

Код: Выделить всё

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
	<p>{LOGGED_IN_USER_LIST}</p>
<!-- ENDIF -->
Так все это выглядит -
snap1091.jpg
И в самом конце файла viewtopic_body.html вывод подвала форума, о чем уже писалось выше...

Код: Выделить всё

<!-- INCLUDE overall_footer.html -->
На этом все. Спасибо за внимание...

С уважением Пчелкин....
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Пчелкин 07.03.2022 22:03, всего редактировалось 23 раза.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Sheer »

Ай да Пчелкин! Ай да сукин сын! (c)
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Я люблю ба...же...viewtopic_body.html

Сообщение МайскийЖук »

Текст я ниасилил, но все же предлагаю выдать Пчелкину медаль почетного маньяка phpBB. :D
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Пчелкин »

:oops: :oops: :oops: :oops: :oops:

Готовлю материал о безопасной установке модов на живой форум..
Когда закончу - не знаю...но работа идет...

Добавлено спустя 1 минуту 35 секунд:
Мне б ограничение на кол-во вложений в сообщение убрали б...а то радикаловские вложения могут подохнуть со временем...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 22 года 6 месяцев
Откуда: СССР
Благодарил (а): 6 раз
Поблагодарили: 154 раза

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Mr. Anderson »

Пчелкин писал(а):Мне б ограничение на кол-во вложений в сообщение убрали б
Штук 50 хватит? :)
Если да - поставлено именно 50 :mrgreen:
Возможно временно...

Добавлено спустя 27 секунд:
Пчелкин писал(а):могут подохнуть со временем...
И подохнут. Инфа 146%.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Пчелкин »

Понял...значит все переправлю на вложения...спасибаюшечки...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Я люблю ба...же...viewtopic_body.html

Сообщение МайскийЖук »

[censor] картинки зарегистрированных пользователей не удаляет вообще.
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Sheer »

http://minus.com/ тоже хранит
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Пчелкин »

Код: Выделить всё

<!-- INCLUDE overall_header.html -->
<!-- IF .similar --><!-- INCLUDE similar_viewtopic.html --><!-- ENDIF -->
<h2><a href="{U_VIEW_TOPIC}"><!-- IF TOPIC_TITLE_COLOUR --><span style="color:#{TOPIC_TITLE_COLOUR};"><!-- ENDIF -->{TOPIC_TITLE}<!-- IF TOPIC_TITLE_COLOUR --></span><!-- ENDIF --></a></h2>
<!-- IF TOPIC_DESC --><p>{TOPIC_DESC}</p><!-- ENDIF -->
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->
<!-- IF FORUM_DESC --><span style="display: none">{FORUM_DESC}<br /></span><!-- ENDIF -->
<p><!-- IF U_MCP -->[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]<!-- ENDIF -->&nbsp;<!-- IF MODERATORS --><strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->:</strong> {MODERATORS}<!-- ENDIF --></p>

<!-- IF S_FORUM_RULES -->
	<div class="rules">
		<div class="inner"><span class="corners-top"><span></span></span>
		<center>
		<!-- IF U_FORUM_RULES -->
			<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
		<!-- ELSE -->
			<strong>{L_FORUM_RULES}</strong><br />{FORUM_RULES}
		<!-- ENDIF -->
		</center>
		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->

<div class="topic-actions">

	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	<!-- IF not S_IS_BOT and S_ALLOW_LIGHT_VIEWTOPIC -->
		<div class="light-viewtopic-icon"><a href="#" title="{L_LIGHT_VIEWTOPIC}" onclick="light_viewtopic(); return false;"><span name="light-viewtopic-span" <!-- IF not S_LIGHT_VIEWTOPIC_TYPE -->style="background-position: 0px 100%; "<!-- ENDIF -->></span></a></div>
	<!-- ENDIF -->
	</div>

	<!-- IF S_DISPLAY_SEARCHBOX -->
		<div class="search-box">
			<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
			<fieldset>
				<input class="inputbox search tiny"  type="text" name="keywords" id="search_keywords" size="20" value="{L_SEARCH_TOPIC}" onclick="if(this.value=='{LA_SEARCH_TOPIC}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_TOPIC}';" />
				<input class="button2" type="submit" value="{L_SEARCH}" />
				{S_SEARCH_LOCAL_HIDDEN_FIELDS}
			</fieldset>
			</form>
		</div>
	<!-- ENDIF -->

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
            <!-- IF U_VIEW_UNREAD_POST and not S_IS_BOT --><a href="{U_VIEW_UNREAD_POST}">{L_VIEW_UNREAD_POST}</a> &bull; <!-- ENDIF -->{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
</div>

<div class="clear"></div>
<!-- IF S_TOPIC_DELETED -->
	<div id="p0" class="post bg2 deleted_topic">
		<div class="inner"><span class="corners-top"><span></span></span>
		<div class="postbody" id="post{postrow.POST_ID}">
			<h3 class="first">{L_PRIME_TOPIC_DELETED_MSG}</h3>
			<div class="ignore">
				{DELETED_MSG}
			</div>
		</div>
		<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->

<!-- IF S_HAS_POLL -->
	<form method="post" action="{S_POLL_ACTION}">
	<div class="panel">
		<div class="inner"><span class="corners-top"><span></span></span>
		<div class="content">
			<h2>{POLL_QUESTION}</h2>
			<p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE -->{L_MAX_VOTES}<!-- ENDIF --></p>
			<fieldset class="polls">
			<!-- BEGIN poll_option -->
				<dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF -->>
					<dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
					<!-- IF S_CAN_VOTE --><dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
					<!-- IF S_DISPLAY_RESULTS --><dd class="resultbar"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT};">{poll_option.POLL_OPTION_RESULT}</div></dd>
					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd><!-- ENDIF -->
				</dl>
			<!-- END poll_option -->

			<!-- IF S_DISPLAY_RESULTS -->
				<dl>
					<dt>&nbsp;</dt>
					<dd class="resultbar">{L_TOTAL_VOTES} : {TOTAL_VOTES}</dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF S_CAN_VOTE -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF not S_DISPLAY_RESULTS -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
				</dl>
			<!-- ENDIF -->
			</fieldset>
		</div>
		<span class="corners-bottom"><span></span></span></div>
		{S_FORM_TOKEN}
		{S_HIDDEN_FIELDS}
	</div>
	</form>
	<hr />
<!-- ENDIF -->
<!-- IF S_FORUM_THANKS --><!-- INCLUDE ajax_thanks_viewtopic.html --><!-- ENDIF -->
<!-- BEGIN postrow -->
	 
<!-- IF S_TOPIC_SEO -->
        <!-- IF postrow.S_FIRST_ROW && SEO_KEY -->
    <div class="panel bg2">
        <div class="inner"><span class="corners-top"><span></span></span>
            <img src="{ROOT_PATH}images/can.png" alt="{L_TAGS}" /><span>{SEO_KEY}</span>
       <span class="corners-bottom"><span></span></span></div>
    </div>
        <!-- ELSEIF postrow.SEO_POST_KEY  -->
   <div class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
        <div class="inner"><span class="corners-top"><span></span></span>
            <img src="{ROOT_PATH}images/can.png" alt="{L_TAGS}" /><span>{postrow.SEO_POST_KEY}</span>
       <span class="corners-bottom"><span></span></span></div>
    </div>
<!-- ENDIF --><!-- ENDIF -->

	<!-- IF postrow.S_FIRST_UNREAD --><a id="unread"></a><!-- ENDIF -->
	    <div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_CHANGE_COLOUR -->bg3<!-- ELSEIF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_ONLINE --> online<!-- ENDIF --><!-- IF postrow.S_DELETED --> deleted_post<!-- ENDIF --><!-- IF postrow.S_POST_BGCOLOR and not postrow.S_POST_REPORTED -->" style="background-color:#{postrow.S_POST_BGCOLOR};<!-- ENDIF --><!-- IF postrow.S_MOVED --> moved_post<!-- ENDIF -->">

		<div class="inner"><span class="corners-top"><span></span></span>
	    <div class="postbody" id="post{postrow.POST_ID}" <!-- IF not S_LIGHT_VIEWTOPIC_TYPE -->style="width:100%;"<!-- ENDIF -->>
			<!-- IF postrow.S_IGNORE_POST -->
				<div class="ignore">{postrow.L_IGNORE_POST}</div>
				<!-- IF postrow.TOPIC_MOVED_MESSAGE -->{postrow.TOPIC_MOVED_MESSAGE}<!-- ENDIF -->				
			<!-- ELSE -->
			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /><!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
			<p class="author"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><!-- IF S_ENABLE_POST_NUM -->{L_POST_NUM}&nbsp;&nbsp;<a href="{postrow.U_MINI_POST}"<!-- IF S_ENABLE_POST_NUM_JS --> onclick="prompt('{LA_POST_DIRECT_LINK}',this.href); return false;"<!-- ENDIF -->><strong>{L_POST_NUM_SYMBOL}{postrow.POST_NUM}&nbsp;&nbsp;{L_SUBJECT_TOPIC}</strong></a>&nbsp;&nbsp;{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF --><!-- ENDIF -->{L_POST_BY_AUTHOR} <!-- We use "\r\n" newline here because insert_text() JS function doesn't insert newline with "\n" (at least in Windows) -->
 			<!-- IF QUICK_REPLY --><a href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE -->
			<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF --> {L_POSTED_ON_DATE} {postrow.POST_DATE} <!-- IF postrow.POST_EXPIRE -->&nbsp;&nbsp;&nbsp;<span style="color:red;"><strong>{L_POST_WILL_EXPIRE}:</strong> {postrow.POST_EXPIRE}</span><!-- ENDIF --> </p>
			<!-- IF postrow.S_POST_UNAPPROVED or postrow.S_POST_REPORTED -->
				<p class="rules">
			<!-- IF postrow.S_POST_UNAPPROVED -->{UNAPPROVED_IMG} <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_UNAPPROVED}</strong></a><!-- ENDIF -->
			<!-- IF postrow.S_POST_REPORTED -->{REPORTED_IMG} <a href="{postrow.U_MCP_REPORT}"><strong>{L_POST_REPORTED}</strong></a><!-- ENDIF -->
				</p>
			<!-- ENDIF -->
			<div id="post_message" <!-- IF S_POST_HEIGHT --> class="content_zakaz" {S_POST_CONTENT_HEIGHT} <!-- ELSE --> class="content"<!-- ENDIF -->>{postrow.MESSAGE}</div>
			<br />
 			<div id="explanation{postrow.POST_ID}" style="display:none" >
					<form action="{NEW_COMMENT}" method="post">
						<fieldset>
						    <h4>{L_ALLOW_COMMENT}</h4>
							<textarea name="comment_text" cols="60" rows="5"></textarea><br />
							<input name="comment_to_id" type="hidden" value="{postrow.POSTER_ID}" />
							<input name="Submit" type="submit" class="button1" value="{L_SUBMIT}" />
						</fieldset>
					</form>
			</div>
			<!-- IF postrow.S_HAS_ATTACHMENTS -->
				<dl class="attachbox">
					<dt>{L_ATTACHMENTS}</dt>
					<!-- BEGIN attachment -->
						<dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
					<!-- END attachment -->
				</dl>
			<!-- ENDIF -->
		</div>

		<!-- IF not postrow.S_IGNORE_POST -->
			<div name="postprofile_div" <!-- IF not S_LIGHT_VIEWTOPIC_TYPE -->style="display:none;"<!-- ENDIF -->>
			<dl class="postprofile" id="profile{postrow.POST_ID}">
			<dt>
				<!-- IF postrow.POSTER_AVATAR -->
				<!-- IF postrow.U_POST_AUTHOR -->
					<a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a>
				<!-- ELSE -->
					{postrow.POSTER_AVATAR}
				<!-- ENDIF -->
       			<!-- IF postrow.S_CAN_CHGPOSTER -->
					<a href="#" onclick="return doOpenChangePoster('ChangePoster{postrow.POST_ID}')">
						<img width="14" height="14" border="0" align="right" alt="{L_CHANGE_POSTER}" src="{postrow.S_CAN_CHGPOSTER}">
					</a>
					<form method="post" id="mcp_chgposter{postrow.POST_ID}" action="{postrow.U_POST_ACTION}">
					<fieldset>
					<dl id="ChangePoster{postrow.POST_ID}"  style="display:none;">
						<dd><label>{L_CHANGE_POSTER}:</label></dd>
						<!-- IF postrow.S_USER_SELECT --><br /><dd><select name="u">{postrow.S_USER_SELECT}</select> <input type="submit" class="button2" name="action[chgposter_list{postrow.POST_ID}]" value="{L_CONFIRM}" /></dd><!-- ENDIF -->
						<dd style="margin-top:3px;">
							<input class="inputbox autowidth" type="text" name="username" value="" />
							<input type="submit" class="button2" name="action[chgposter{postrow.POST_ID}]" value="{L_CONFIRM}" />
							<br />
							<span>[ <a href="{postrow.U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</span>
						</dd>
					</dl>
					{S_FORM_TOKEN}
					</fieldset>
					</form>
				<!-- ENDIF -->
   				<br />
			<!-- ELSE -->
				<img src="{T_THEME_PATH}/images/no_avatar.gif" width="40" height="40" alt="" />
				<!-- IF postrow.S_CAN_CHGPOSTER -->
					<a href="#" onclick="return doOpenChangePoster('ChangePoster{postrow.POST_ID}')">
						<img width="14" height="14" border="0" align="right" alt="{L_CHANGE_POSTER}" src="{postrow.S_CAN_CHGPOSTER}">
					</a>
					<form method="post" id="mcp_chgposter{postrow.POST_ID}" action="{U_POST_ACTION}">
					<fieldset>
					<dl id="ChangePoster{postrow.POST_ID}" style="display:none;">
						<dd><label>{L_CHANGE_POSTER}:</label></dd>
						<!-- IF postrow.S_USER_SELECT --><br/><dd><select name="u">{postrow.S_USER_SELECT}</select> <input type="submit" class="button2" name="action[chgposter_list{postrow.POST_ID}]" value="{L_CONFIRM}" /></dd><!-- ENDIF -->
						<dd style="margin-top:3px;">
							<input class="inputbox autowidth" type="text" name="username" value="" />
							<input type="submit" class="button2" name="action[chgposter{postrow.POST_ID}]" value="{L_CONFIRM}" />
							<br />
							<span>[ <a href="{postrow.U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</span>
						</dd>
					</dl>
					{S_FORM_TOKEN}
					</fieldset>
					</form>
				<!-- ENDIF -->
	        <!-- ENDIF -->			
			</dt>
            <dt class="postprofile-nick">
			<!-- IF QUICK_REPLY --><a href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE --><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF -->
			<!-- IF postrow.POST_AUTHOR_RANON --> ({postrow.POST_AUTHOR_RANON})<!-- ENDIF -->&nbsp;<!-- IF postrow.S_TOPIC_POSTER -->{L_AUTHOR_TOPIC}<!-- ENDIF -->
			</dt>
<!-- We use "\r\n" newline here because insert_text() JS function doesn't insert newline with "\n" (at least in Windows) -->
            <!-- IF not postrow.RANK_TITLE --><br /><!-- IF QUICK_REPLY --><dd><a href="#postform" onclick="dE('postform', 1); addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a></dd><!-- ENDIF --><!-- ENDIF -->
			<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF QUICK_REPLY --><br /><a href="#postform" onclick="dE('postform', 1); addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a><!-- ENDIF --><!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}&nbsp;<!-- IF postrow.USER_AGENT -->{postrow.USER_AGENT}<!-- ENDIF --></dd><!-- ENDIF -->
	    	<dl style="padding-left:7px;">
    <!-- IF postrow.U_POST_AUTHOR -->
            <a href="#" onclick="return doCollapseExpand('box{postrow.POST_ID}','btn{postrow.POST_ID}')"> 
            <img src="{ROOT_PATH}images/dopinfo_down.gif" title="{L_DOPINFO}" height="20" width="150" name="btn{postrow.POST_ID}" /></a>
    <!-- ENDIF -->
            </dl>   
            <dl id="box{postrow.POST_ID}" style="display:none; margin-top:5px; margin-bottom:5px;"> 
			<!-- IF postrow.POSTER_BANNED --><br /><dd class="banned"><b>{L_BANNED}:</b> {postrow.POSTER_BAN_END}<!-- ELSEIF postrow.POSTER_WARNINGS --><dd class="warned"><b>{L_WARNINGS}:</b> {postrow.POSTER_WARNINGS}</dd><!-- ENDIF -->
    		<!-- IF postrow.S_USERID_VIEWTOPIC --><dd><strong>{L_USER_ID}:</strong> {postrow.POSTER_ID}</dd><!-- ENDIF -->
    		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}<strong>  {L_TOPICS}:</strong> {postrow.POSTER_TOPICS}</dd><!-- ENDIF -->
            <!-- IF postrow.GALLERY_IMAGES != '' --><dd><strong>{L_IMAGES}:</strong> <!-- IF postrow.U_GALLERY_SEARCH --><a href="{postrow.U_GALLERY_SEARCH}">{postrow.GALLERY_IMAGES}</a><!-- ELSE -->{postrow.GALLERY_IMAGES}<!-- ENDIF --></dd><!-- ENDIF --> 
            <!-- IF postrow.U_SEARCH --><dd><strong><a href="{postrow.U_SEARCH}">{L_POSTS_VIEWTOPIC}</a></dd><!-- ENDIF -->        
		    <!-- IF postrow.POSTER_LENGTH_OF_SERVICE --><dd><strong>{L_LENGTH_OF_SERVICE}:</strong> {postrow.POSTER_LENGTH_OF_SERVICE}</dd>
		    <!-- ELSE IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->	
    		<!-- IF postrow.POSTER_LASTVISIT --><dd><strong>{L_LASTVISIT}:</strong> {postrow.POSTER_LASTVISIT}</dd><!-- ENDIF --> 
	    	<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
 			<!-- IF postrow.S_HAS_HIGHSCORES --><dd><strong>{L_ARCADE_HIGHSCORES}:</strong> <a href="{postrow.U_ARCADE_STATS}">{postrow.TOTAL_HIGHSCORES}</a></dd><!-- ENDIF -->
            <!-- IF postrow.GROUP_NAME --><dd><strong>{L_GROUP}:</strong> {postrow.GROUP_NAME}</dd><!-- ENDIF -->
         	<!-- IF not postrow.S_POST_ANONYMOUS and postrow.S_FORUM_THANKS -->
         	<span id="thanks_info_user{postrow.POST_ID}">
            <!-- IF not postrow.S_POST_ANONYMOUS and postrow.THANKS_COUNTERS_VIEW -->
			<dd><strong>{L_GIVEN}:</strong><!-- IF postrow.POSTER_GIVE_COUNT < 1 --> {postrow.POSTER_GIVE_COUNT} {L_THANK}<!-- ELSEIF postrow.POSTER_GIVE_COUNT > 1 --> <a href="{postrow.POSTER_GIVE_COUNT_LINK}">{postrow.POSTER_GIVE_COUNT}</a> {L_THANKS}<!-- ELSE --> <a href="{postrow.POSTER_GIVE_COUNT_LINK}">{postrow.POSTER_GIVE_COUNT}</a> {L_THANK}<!-- ENDIF --></dd>
			<dd><strong>{L_RECEIVED}:</strong><!-- IF postrow.POSTER_RECEIVE_COUNT < 1 --> {postrow.POSTER_RECEIVE_COUNT} {L_THANK}<!-- ELSEIF postrow.POSTER_RECEIVE_COUNT > 1 --> <a href="{postrow.POSTER_RECEIVE_COUNT_LINK}">{postrow.POSTER_RECEIVE_COUNT}</a> {L_THANKS}<!-- ELSE --> <a href="{postrow.POSTER_RECEIVE_COUNT_LINK}">{postrow.POSTER_RECEIVE_COUNT}</a> {L_THANK}<!-- ENDIF --></dd>
		<!-- ENDIF -->
		</span>
		<!-- ENDIF -->
    		<!-- IF postrow.S_PROFILE_FIELD1 --><!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. --><dd><strong>{postrow.PROFILE_FIELD1_NAME}:</strong> {postrow.PROFILE_FIELD1_VALUE}</dd><!-- ENDIF -->
        	<!-- BEGIN custom_fields --><dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd><!-- END custom_fields -->
    	   	<!-- IF S_REPUTATION and postrow.S_USER_REPUTATION -->
	    	<!-- IF S_REP_DISPLAY neq 'block' --><dd><strong>{L_RP_TOTAL_POINTS}:</strong> {postrow.REPUTATION_TEXT}<!-- ENDIF -->
		    <!-- IF S_REP_DISPLAY neq 'text'  --><dd><!-- IF postrow.U_VIEW_REP --><a href="{postrow.U_VIEW_REP}" onclick="popup(this.href, 1100, 400); return false;" ><!-- ENDIF -->{postrow.REPUTATION_BLOCK}<!-- IF postrow.U_VIEW_REP --></a><!-- ENDIF --></dd><!-- ENDIF -->
	     	<!-- IF postrow.S_GIVE_REPUTATION --><dd><a href="{postrow.U_ADD_POS}"><img src="{T_IMAGES_PATH}reputation/add.png" title="{L_RP_ADD_POINTS} {postrow.POST_AUTHOR}" alt="{L_RP_ADD_POINTS} {postrow.POST_AUTHOR}" /></a><!-- IF postrow.S_GIVE_NEGATIVE--><a href="{postrow.U_ADD_NEG}"><img src="{T_IMAGES_PATH}reputation/subtract.png" title="{L_RP_SUBTRACT_POINTS} {postrow.POST_AUTHOR}" alt="{L_RP_SUBTRACT_POINTS} {postrow.POST_AUTHOR}" /></a><!-- ENDIF --></dd><!-- ENDIF -->
         	<!-- ENDIF -->
            </dl>
            <dd>			
	    	<!-- IF not S_IS_BOT -->
            <!-- IF postrow.BIRTHDAY_IMG --><dd>&nbsp;</dd><dd>{postrow.BIRTHDAY_IMG}</dd><!-- ENDIF -->
	    	<!-- ENDIF -->
 	    	</dd>
           </dl>
		</div>		   
	<!-- ENDIF -->

<!-- start mod view or mark unread posts (and end mod too) ... added preceding line -->
	<div class="postbody">	
	<!--<div class="content">-->
		<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
		<!-- IF postrow.EDITED_MESSAGE or postrow.EDIT_REASON --><div class="notice">{postrow.EDITED_MESSAGE}<!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}:</strong> {postrow.EDIT_REASON}<!-- ENDIF --></div><!-- ENDIF -->
        <!-- IF postrow.WARNING --><div class="notice"><strong><!-- IF postrow.WARNING_TYPE eq 1 --><img src="styles/prosilver/theme/images/icon_ban.gif">{L_BAN}<!-- ELSE --><img src="styles/prosilver/theme/images/icon_warning.gif">{L_WARNING}<!-- ENDIF -->:</strong> {postrow.WARNING_POSTER} {postrow.WARNING_TIME}<br /><strong><div style="margin-left:12px"> {L_REASON_BAN_WAR}: </strong> {postrow.WARNING}</div></div><!-- ENDIF -->
		<!-- IF postrow.TOPIC_MOVED_MESSAGE -->{postrow.TOPIC_MOVED_MESSAGE}<!-- ENDIF -->
       	<!-- IF postrow.BUMPED_MESSAGE --><div class="notice">{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
		<!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
    <hr />
	<!-- ENDIF -->
   	<!-- IF not S_IS_BOT -->
 	<ul class="profile-icons" style="float:left">
        <!-- IF postrow.U_PM or postrow.U_EMAIL or postrow.U_WWW or postrow.U_MSN or postrow.U_ICQ or postrow.U_YIM or postrow.U_AIM or postrow.U_JABBER or postrow.U_BLOG -->
        <!-- Кнопка в профиль --><li class="info-profile-icon"><a href="{postrow.U_POST_AUTHOR}" title="{L_READ_PROFILE}"><span>{L_READ_PROFILE}</span></a></li><!-- Кнопка в профиль -->
    	<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
       	<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_EMAIL}"><span>{L_EMAIL}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
        <!-- IF postrow.U_BLOG --><li class="userblog-icon"><a href="{postrow.U_BLOG}" title="{L_BLOG}"><span>{L_BLOG}</span></a></li><!-- ENDIF -->
        <!-- IF postrow.U_GALLERY --><li class="gallery-icon"><a href="{postrow.U_GALLERY}" title="{L_PERSONAL_ALBUM}"><span>{L_PERSONAL_ALBUM}</span></a></li><!-- ENDIF -->
       	<!-- IF postrow.U_LPP --><li class="lpp-icon"><a href="{postrow.U_POST_AUTHOR}" title="{L_PROFILE_PICTURE}"><span>{L_PROFILE_PICTURE}</span></a></li><!-- ENDIF -->
        <!-- IF postrow.U_NOMINATE --><li class="nominate-icon"><a href="{postrow.U_NOMINATE}" title="{L_NOMINATE}"><span>{L_NOMINATE}</span></a></li><!-- ENDIF -->
		<!-- ENDIF -->
    </ul>

   		<!-- IF postrow.U_QUOTE or postrow.U_INFO or postrow.U_DELETE or postrow.U_EDIT or postrow.THANKS_LINK-->
    <ul class="profile-icons">
		<!-- IF  not postrow.S_FIRST_POST_ONLY or (not START and postrow.S_ROW_COUNT == 0) -->
		<!-- IF not postrow.S_GLOBAL_POST_THANKS and not postrow.S_POST_ANONYMOUS and postrow.S_FORUM_THANKS and S_USER_LOGGED_IN and not postrow.S_IS_OWN_POST and (not postrow.S_ALREADY_THANKED or postrow.S_REMOVE_THANKS) --><li id="thanks_button{postrow.POST_ID}" class="{postrow.THANKS_IMG}"><a href="{postrow.THANKS_LINK}" title="{postrow.THANK_ALT}{postrow.POST_AUTHOR}" onclick="ajax_thanks.thanks_post({postrow.POST_ID}, '{postrow.THANK_MODE}'); return false;"></a></li><!-- ENDIF -->						
		<!-- ENDIF -->
		<!-- IF postrow.U_EDIT --><li class="qe-icon"><a href="#" onclick="return false;" id="quickedit{postrow.POST_ID}" title="{L_QUICKEDIT_POST}"><span>{L_QUICKEDIT_POST}</span></a></li><!-- ENDIF -->
   		<!-- IF postrow.U_EDIT --><li class="edit-icon"><a href="{postrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
        <!-- IF QUICK_REPLY and (NEXT_PAGE or not postrow.S_LAST_ROW) --><li class="quickquote-icon"><a href="#postform" onclick="addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}"><span>{L_QUOTE_TEXT}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_QUOTE and (NEXT_PAGE or not postrow.S_LAST_ROW) --><li class="quote-icon"><a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>{L_REPLY_WITH_QUOTE}</span></a></li><!-- ENDIF -->
        <!-- IF SIMPLE_QC_ENABLED && S_USER_LOGGED_IN --><li><a id="link{postrow.POST_ID}" href="javascript:display('show', {postrow.POST_ID})"><img src="{T_IMAGESET_PATH}/quick_comment.gif" title="{L_REPLY_GUICK_COMMENT}" /></a></li><!-- ENDIF -->
		<!-- IF postrow.U_DELETE --><li class="delete-icon"><a href="{postrow.U_DELETE}" title="{L_DELETE_POST}"><span>{L_DELETE_POST}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_REPORT --><li class="report-icon"><a href="{postrow.U_REPORT}" title="{L_REPORT_POST}"><span>{L_REPORT_POST}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_WARN --><li class="warn-icon"><a href="{postrow.U_WARN}" title="{L_WARN_USER}"><span>{L_WARN_USER}</span></a></li><!-- ENDIF -->
		<!-- IF postrow.U_INFO --><li class="info-icon"><a href="{postrow.U_INFO}" title="{L_INFORMATION}"><span>{L_INFORMATION}</span></a></li><!-- ENDIF -->
	</ul>
		<!-- ENDIF -->
	<!-- ENDIF -->
	</div>

    <!-- IF postrow.THANKS and postrow.THANKS_POSTLIST_VIEW -->
       <div class="rules"><div class="inner"><span class="corners-top"><span></span></span>
        	<!-- IF postrow.THANKS and postrow.THANKS_POSTLIST_VIEW -->
			<!-- IF not postrow.S_POST_ANONYMOUS and not S_IS_BOT and postrow.S_MOD_THANKS -->
			<ul class="profile-icons" style="float:left"><li class="delete-icon"><a href="{postrow.U_CLEAR_LIST_THANKS_POST}" title="{L_CLEAR_LIST_THANKS}"><span>{L_CLEAR_LIST_THANKS}</span></a></li></ul>
           	<!-- ENDIF -->
			<div class="content">
			<!-- IF not postrow.S_POST_ANONYMOUS and not S_IS_BOT-->
    		<dl align="left">
			<dt>{postrow.THANK_TEXT}{postrow.POST_AUTHOR_FULL}{postrow.THANK_TEXT_2}</dt>
			<dd>{postrow.THANKS}</dd>
	    	</dl>
	        <!-- ENDIF -->	
			</div>
	        <!-- ENDIF -->
		    <!-- IF postrow.S_THANKS_POST_REPUT_VIEW and postrow.POST_REPUT and not postrow.S_POST_ANONYMOUS and not S_IS_BOT -->
			<div class="content">
			<dl align="left">
			<dt class="small"><strong>{L_REPUT}:</strong>&nbsp;{postrow.POST_REPUT}</dt>
			<dd>
			<!-- IF postrow.S_THANKS_REPUT_GRAPHIC -->
			<div style="width: {postrow.THANKS_REPUT_GRAPHIC_WIDTH}; height: {postrow.THANKS_REPUT_HEIGHT}; background: URL({postrow.THANKS_REPUT_IMAGE_BACK});"><div style="height: {postrow.THANKS_REPUT_HEIGHT}; width: {postrow.POST_REPUT}; background: URL({postrow.THANKS_REPUT_IMAGE});"></div></div>&nbsp;
			<!-- ENDIF -->
			</dd>
			</dl>
			</div>
            <!-- ENDIF -->
		<span class="corners-bottom"><span></span></span></div></div>
    <!-- ENDIF -->
<!-- КОНЕЦ БЛОКА СПАСИБОК -->

		<span class="corners-bottom"><span></span></span></div>
     </div>

    <!-- IF postrow.S_FIRST_ROW -->
    <br /><hr /><br />
    <!-- ENDIF -->
	<hr class="divider" />
    <!-- END postrow -->
    <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE -->
	<!-- DEFINE $CAPTCHA_TAB_INDEX = 3 -->
	<form id="viewtopic" method="post" action="{S_TOPIC_CAPTCHA_ACTION}">
	<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
	</form>
<!-- ENDIF -->

<!-- IF S_NUM_POSTS > 1 or PREVIOUS_PAGE -->
	<form id="viewtopic" method="post" action="{S_TOPIC_ACTION}">
	<fieldset class="display-options" style="margin-top: 0; ">
		<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left-box {S_CONTENT_FLOW_BEGIN}">{L_PREVIOUS}</a><!-- ENDIF -->
		<!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right-box {S_CONTENT_FLOW_END}">{L_NEXT}</a><!-- ENDIF -->
	</fieldset>
	</form>
	<hr />
<!-- ENDIF -->

<div class="topic-actions">
	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
		<!-- IF QUICK_REPLY and MODE eq 'REPLY' --><div class="quickreply-icon"><a href="#postform" onclick="dE('postform'); return false;"  title="{L_QUICK_REPLY}"><span></span>{L_QUICK_REPLY}</a></div><!-- ENDIF -->
	<!-- ENDIF -->
	<!-- IF not S_IS_BOT and S_ALLOW_LIGHT_VIEWTOPIC -->
		<div class="light-viewtopic-icon"><a href="#" title="{L_LIGHT_VIEWTOPIC}" onclick="light_viewtopic(); return false;"><span name="light-viewtopic-span" <!-- IF not S_LIGHT_VIEWTOPIC_TYPE -->style="background-position: 0px 100%; "<!-- ENDIF -->></span></a></div>		
	<!-- ENDIF -->
	</div>
	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">{TOTAL_POSTS}<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF --></div>
	<!-- ENDIF -->
</div>
<!-- IF QUICK_REPLY --><!-- INCLUDE quick_reply.html --><!-- ENDIF -->
<p><!-- IF U_MCP -->[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]<!-- ENDIF -->&nbsp;<!-- IF MODERATORS --><strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->:</strong> {MODERATORS}<!-- ENDIF --></p>

<!-- IF S_FORUM_RULES -->
	<div class="rules">
		<div class="inner"><span class="corners-top"><span></span></span>
		<center>
		<!-- IF U_FORUM_RULES -->
			<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
		<!-- ELSE -->
			<strong>{L_FORUM_RULES}</strong><br />{FORUM_RULES}
		<!-- ENDIF -->
		</center>
		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->

<!-- INCLUDE jumpbox.html -->
    <!-- IF S_TOPIC_MOD -->
	<form method="post" action="{S_MOD_ACTION}">
	<fieldset class="quickmod">
		<label for="quick-mod-select">{L_QUICK_MOD}:</label> {S_TOPIC_MOD} <input type="submit" value="{L_GO}" class="button2" />{S_FORM_TOKEN}
	</fieldset>
	</form>
    <!-- ENDIF -->
    <!-- IF S_USER_LOGGED_IN --><!-- IF S_DISPLAY_ONLINE_LIST -->
    	<h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><p>{LOGGED_IN_USER_LIST}</p>
    <!-- ENDIF --><!-- ENDIF -->

    <!-- IF S_USER_LOGGED_IN --><!-- IF U_MCP --><!-- IF S_DISPLAY_TOPIC_VIEWERS -->
	    <h3><a href="{U_VIEWTOPICVIEWER}">{L_TV_VIEW_TOPIC_VIEWERS}&nbsp;<img src="{T_THEME_PATH}/images/yeux_viewtopic.gif" alt="Qui a vu ce topic ?" /></a></h3>
    <!-- ENDIF --><!-- ENDIF --><!-- ENDIF -->

<!-- INCLUDE overall_footer.html -->
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Палыч »

Желание очень похвально. Но...
Много мусора, от этого материал здорово проигрывает.
Практически утрачивает всякую полезность, ибо понять что-нибудь в этом хаосе, нереально... увы.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Пчелкин »

Упростил как мог...больше низя...батя сказал что у нас в роду Пушкиных не было...одни паяцы...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Я люблю ба...же...viewtopic_body.html

Сообщение МайскийЖук »

Дайте Пчелкину доступ к базе знаний форума гуру, пусть строчит статьи с охрененными по размерам скриншотами, раз ему времени и сил не жалко. :)
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение Пчелкин »

МайскийЖук Обижаешь, начальник...я эту тему три недели писал...урывками...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение sweetah »

Не читал, но плюсанул :mrgreen:
папа
phpBB 1.4.4
Сообщения: 106
Стаж: 14 лет 8 месяцев
Благодарил (а): 5 раз

Re: Я люблю ба...же...viewtopic_body.html

Сообщение папа »

жаль что почти вся инфа не актуальна для субсильвера :x :)

Вернуться в «Стили для phpBB 3.0.x»