Мод User Reputation Points, это более сложная модификация мода "Спасибо за сообщение".
Внимание!
Если вы не уверены в своих силах, сделайте бэкап всех шаблонов форума. Это можно сделать через "Обслуживание" -> "Резервное копирование". В окне выделяем все таблицы, которые начинаются с
вашфорум_phpbb_styles
и нажимаем "отправить".Установка:
Под учетной записью основателя запускаем скрипт по адресу:
Код: Выделить всё
http://АДРЕС_ФОРУМА/rep_install/install.php
В следующем окне соглашаемся с установкой нажимая "ДА".
После этого МОД установлен, появились соответствующие права доступа (вкладка "репутация" в правах) и пункты меню с настройками репутации добавлены во вкладку "Общие".
Изменения для клонов SUBSILVER2:
Открываем шаблон
memberlist_view.html
находим:
Код: Выделить всё
<!-- IF S_SHOW_ACTIVITY -->
добавляем ПЕРЕД найденным:
Код: Выделить всё
<!-- IF S_REPUTATION -->
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_RP_TOTAL_POINTS}: </td>
<td><b class="gen">{REPUTATION}</b></td>
</tr>
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_RP_POWER}: </td>
<td><b class="gen">{REP_POWER}</b></td>
</tr>
<!-- ENDIF -->
Открываем шаблон
ucp_main_front.html
находим:
Код: Выделить всё
<tr>
<th colspan="3">{L_YOUR_DETAILS}</th>
</tr>
добавляем ПЕРЕД найденным:
Код: Выделить всё
<!-- IF .reputation_row -->
<tr>
<th colspan="3">{L_RP_RECENT_POINTS}</th>
</tr>
<tr>
<td class="row1" colspan="3">
<table width="100%" cellspacing="1" cellpadding="4">
<tr class="row3">
<td><b class="genmed">{L_RP_POINTS}</b></td>
<td><b class="genmed">{L_RP_COMMENTS}</b></td>
<td><b class="genmed">{L_RP_FROM}</b></td>
<td><b class="genmed">{L_POSTS}</b></td>
</tr>
<!-- BEGIN reputation_row -->
<!-- IF reputation_row.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td><span class="genmed">{reputation_row.POINT_IMG}</span></td>
<td><span class="genmed">{reputation_row.COMMENT}</span></td>
<td><span class="genmed">{reputation_row.FROM}</span></td>
<td><span class="genmed"><!-- IF reputation_row.POST_SUBJECT --><a href="{reputation_row.U_POST}">{reputation_row.POST_SUBJECT}</span></a><!-- ELSE -->{L_RP_NA}<!-- ENDIF --></td>
<!-- END reputation_row -->
</tr>
</table>
</td>
</tr>
<!-- ENDIF -->
ucp_prefs_personal.html
находим:
Код: Выделить всё
<!-- IF S_SELECT_NOTIFY -->
добавляем ПЕРЕД найденным:
Код: Выделить всё
<!-- IF S_CAN_HIDE_REPUTATION -->
<tr>
<td class="row1" width="50%"><b class="genmed">{L_RP_HIDE}:</b></td>
<td class="row2"><input type="radio" class="radio" name="hidereputation" value="1"<!-- IF S_HIDE_REPUTATION --> checked="checked"<!-- ENDIF --> /><span class="genmed">{L_YES}</span> <input type="radio" class="radio" name="hidereputation" value="0"<!-- IF not S_HIDE_REPUTATION --> checked="checked"<!-- ENDIF --> /><span class="genmed">{L_NO}</span></td>
</tr>
<!-- ENDIF -->
Открываем шаблон
viewtopic_body.html
находим:
Код: Выделить всё
<!-- BEGIN custom_fields -->
<br /><b>{postrow.custom_fields.PROFILE_FIELD_NAME}:</b> {postrow.custom_fields.PROFILE_FIELD_VALUE}
<!-- END custom_fields -->
добавляем ниже:
Код: Выделить всё
<!-- IF S_REPUTATION and postrow.S_USER_REPUTATION -->
<!-- IF S_REP_DISPLAY neq 'block' --><br /><strong>{L_RP_TOTAL_POINTS}:</strong> {postrow.REPUTATION_TEXT}<!-- ENDIF -->
<!-- IF S_REP_DISPLAY neq 'text' --><br /><!-- IF postrow.U_VIEW_REP --><a href="{postrow.U_VIEW_REP}" onclick="popup(this.href, 780, 550); return false;" ><!-- ENDIF -->{postrow.REPUTATION_BLOCK}<!-- IF postrow.U_VIEW_REP --></a><!-- ENDIF --><!-- ENDIF -->
<!-- IF postrow.S_GIVE_REPUTATION --><br /><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 --><!-- ENDIF -->
<!-- ENDIF -->
Изменения для клонов PROSILVER:
Открываем шаблон
memberlist_view.html
находим:
Код: Выделить всё
<dt>{L_TOTAL_POSTS}:</dt>
<dd>{POSTS} | <strong><a href="{U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a></strong>
<!-- IF POSTS_PCT --><br />({POSTS_PCT} / {POSTS_DAY})<!-- ENDIF -->
<!-- IF POSTS_IN_QUEUE and U_MCP_QUEUE --><br />(<a href="{U_MCP_QUEUE}">{L_POSTS_IN_QUEUE}</a>)<!-- ELSEIF POSTS_IN_QUEUE --><br />({L_POSTS_IN_QUEUE})<!-- ENDIF -->
</dd>
Код: Выделить всё
<!-- IF S_REPUTATION -->
<dt>{L_RP_TOTAL_POINTS}:</dt> <dd>{REPUTATION}</dd>
<dt>{L_RP_POWER}:</dt> <dd>{REP_POWER}</dd>
<!-- ENDIF -->
Открываем шаблон
ucp_main_front.html
находим:
Код: Выделить всё
<h3>{L_YOUR_DETAILS}</h3>
добавляем ПЕРЕД найденным:
Код: Выделить всё
<!-- IF .reputation_row -->
<h3>{L_RP_RECENT_POINTS}</h3>
<table class="table1" cellspacing="0">
<thead>
<tr>
<th class="name">{L_RP_POINTS}</th>
<th class="name">{L_FROM}</th>
<th class="name">{L_RP_COMMENTS}</th>
<th class="name">{L_POSTS}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN reputation_row -->
<tr class="<!-- IF reputation_row.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td><span>{reputation_row.POINT_IMG}</span></td>
<td><span>{reputation_row.FROM}</span></td>
<td><span>{reputation_row.COMMENT}</span></td>
<td><span><!-- IF reputation_row.POST_SUBJECT --><a href="{reputation_row.U_POST}">{reputation_row.POST_SUBJECT}</a><!-- ELSE -->{L_RP_NA}<!-- ENDIF --></span></td>
</tr>
<!-- END reputation_row -->
</tbody>
</table>
<!-- ENDIF -->
Открываем шаблон
ucp_prefs_personal.html
находим:
Код: Выделить всё
<!-- IF S_CAN_HIDE_ONLINE -->
<dl>
<dt><label for="hideonline0">{L_HIDE_ONLINE}:</label><br /><span>{L_HIDE_ONLINE_EXPLAIN}</span></dt>
<dd>
<label for="hideonline1"><input type="radio" name="hideonline" id="hideonline1" value="1"<!-- IF S_HIDE_ONLINE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="hideonline0"><input type="radio" name="hideonline" id="hideonline0" value="0"<!-- IF not S_HIDE_ONLINE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
добавляем ниже:
Код: Выделить всё
<!-- IF S_CAN_HIDE_REPUTATION -->
<dl>
<dt><label for="hideonline0">{L_RP_HIDE}:</label></dt>
<dd>
<label for="hidereputation1"><input type="radio" name="hidereputation" id="hidereputation1" value="1"<!-- IF S_HIDE_REPUTATION --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="hidereputation0"><input type="radio" name="hidereputation" id="hidereputation0" value="0"<!-- IF not S_HIDE_REPUTATION --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
Открываем шаблон
viewtopic_body.html
находим:
Код: Выделить всё
<!-- 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}</dd><!-- ENDIF -->
<!-- IF S_REP_DISPLAY neq 'text' --><dd><!-- IF postrow.U_VIEW_REP --><a href="{postrow.U_VIEW_REP}" onclick="popup(this.href, 780, 550); 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 -->
Небольшие настройки для обоих клонов.
В профиле пользователя появляется ссылка на страницу с отзывами.
Открываем шаблон
memberlist_view.html
находим:
Код: Выделить всё
{REPUTATION}
Код: Выделить всё
<a href="/viewreputation.php?id={USER_ID}">{REPUTATION}</a>
Замена стандартных картинок репутации.
В шаблоне
viewtopic_body.html
находим
Код: Выделить всё
{postrow.REPUTATION_BLOCK}
Код: Выделить всё
<script type="text/javascript"> <!-- Begin var shag = 10; var rep = {postrow.REPUTATION_TEXT}; if (rep == 0) document.write('<img src="images/reputation/neutral.gif" title="{postrow.POST_AUTHOR} не имеет очков репутации" />'); for (i = 1; i <= rep; i += shag) { document.write('<img src="images/reputation/pos.gif" title="{postrow.POST_AUTHOR} имеет {postrow.REPUTATION_TEXT} очков репутации" />'); } for (j = -1; j >= rep; j -= shag) { document.write('<img src="images/reputation/neg.gif" title="{postrow.POST_AUTHOR} имеет {postrow.REPUTATION_TEXT} очков репутации" />'); } // End --> </script>
images/reputation/neutral.gif
, images/reputation/pos.gif
, images/reputation/neg.gif
- нужно заменить на свои картинки.Настройки.
Настройки репутации осуществляются в МОДУЛИ -> Репутация -> Репутация.
Права доступа к функциям репутации настраиваются в "ПРАВА ДОСТУПА"[/i ]-> Права групп -> (выбираете группу)Расширенные права -> Очки репутации. Как минимум, можно поставить для группы "Зарегистрированные пользователи" Разрешение - "Может давать очки репутации (ДА)".
Также имеет смысл для группы "Администраторы" перейти в "Выберите тип" -> "Глобальные права модератора" и во вкладке "разное" разрешить для группы "Администраторы" "Может модерировать очки репутации(ДА)"
Обратите внимание, что пользователи кроме самой репутации, могут иметь различную "СИЛУ репутации". СИЛА репутации может расти от количества сообщений, кол-ва дней на форуме, кол-ва очков репутации (это настраивается в настройках репутации).
Так-же различные группы могут иметь различную СИЛУ репутации. В настройках каждой группы теперь появилась настройка "Сила Репутации группы:". Например группе "Администраторы" можно дать силу репутации гораздо больше, чем всем остальным. Групповая сила действует для группы "по-умолчанию".
Вывод списка пользователей на главную страницу форума у которых самая большая репутация.
Изменения для клонов SUBSILVER2
Открываем шаблон
index_body.html
, находим:
Код: Выделить всё
<td class="row1" width="100%" valign="middle"><p class="genmed">{TOTAL_POSTS} | {TOTAL_TOPICS} | {TOTAL_USERS} | {NEWEST_USER}</p></td>
</td>
вставляем:
Код: Выделить всё
<!-- IF .reputation --><p>Самые уважаемые пользователи <!-- BEGIN reputation --><!-- IF not reputation.S_FIRST_ROW -->, <!-- ENDIF -->{reputation.USERNAME} ({reputation.POINT})<!-- END reputation --></p><!-- ENDIF -->
Изменения для клонов PROSILVER
Открываем шаблон
index_body.html
, находим:
Код: Выделить всё
<!-- INCLUDE overall_footer.html -->
Код: Выделить всё
<!-- IF .reputation -->
<h3>Самые уважаемые пользователи</h3>
<p><!-- BEGIN reputation --><!-- IF not reputation.S_FIRST_ROW -->, <!-- ENDIF -->{reputation.USERNAME} ({reputation.POINT})<!-- END reputation --></p>
<!-- ENDIF -->