[DEV] Reputation System / Система репутации
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
FladeX
- Former team member
- Сообщения: 1935
- Стаж: 19 лет 3 месяца
- Откуда: Саранск
- Благодарил (а): 7 раз
- Поблагодарили: 59 раз
Re: [DEV] Reputation System / Система репутации
posemon1
мод точно правильно установили? Проверьте на всякий случай еще раз. Возможно, где-то не внесли изменения или в базе чего-то не хватает.
Хотя может быть и из-за настроек. Но по идее, если нет прав на изменение репутации, то и форма изменения репутации не должна отображаться.
мод точно правильно установили? Проверьте на всякий случай еще раз. Возможно, где-то не внесли изменения или в базе чего-то не хватает.
Хотя может быть и из-за настроек. Но по идее, если нет прав на изменение репутации, то и форма изменения репутации не должна отображаться.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
-
m@x3r
- phpBB 1.0.0
- Сообщения: 1
- Стаж: 17 лет 3 месяца
Re: [DEV] Reputation System / Система репутации
в мене вот така проблема поставив юзеру +
а пише що Репутация: 0 [ ? ]
но коли я нажимаю на 0 там показує що я поставив +
но як зробити коли ставиш + то щоб не 0 був а там 1 якщо ще раз поставив 2 ?
а пише що Репутация: 0 [ ? ]
но коли я нажимаю на 0 там показує що я поставив +
но як зробити коли ставиш + то щоб не 0 був а там 1 якщо ще раз поставив 2 ?
-
MAzZY
- Бывший член :)
- Сообщения: 2925
- Стаж: 21 год 4 месяца
- Благодарил (а): 79 раз
- Поблагодарили: 69 раз
- Забанен: Бессрочно
Re: [DEV] Reputation System / Система репутации
m@x3r, у нас принят русский язык. Будьте добры писать именно на нем. Устное предупреждение.
-
m@x3r
- phpBB 1.0.0
- Сообщения: 1
- Стаж: 17 лет 3 месяца
Re: [DEV] Reputation System / Система репутации
у меня вот такая проблема поставил юзеру
а пишет что Репутация: 0 [? ]
но когда я нажимаю на 0 там показывает что я поставил
но как сделать когда ставишь то чтобы не 0 был а там 1 если еще раз поставил 2?
а пишет что Репутация: 0 [? ]
но когда я нажимаю на 0 там показывает что я поставил
но как сделать когда ставишь то чтобы не 0 был а там 1 если еще раз поставил 2?
-
romeo_piter
- phpBB 2.0.22
- Сообщения: 1375
- Стаж: 17 лет 5 месяцев
- Благодарил (а): 260 раз
- Поблагодарили: 32 раза
Re: [DEV] Reputation System / Система репутации
Ктото обновлялся с этим модом до 3.0.6?
А то потеря репы - смерти подобна...юзвери загрызут :cry:
А то потеря репы - смерти подобна...юзвери загрызут :cry:
-
Fray98rus
- Former team member
- Сообщения: 442
- Стаж: 18 лет 11 месяцев
- Откуда: Санкт-Петербург
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: [DEV] Reputation System / Система репутации
А сделать бэкапы и обновиться на локалхосте религия не позволяет?
-
romeo_piter
- phpBB 2.0.22
- Сообщения: 1375
- Стаж: 17 лет 5 месяцев
- Благодарил (а): 260 раз
- Поблагодарили: 32 раза
Re: [DEV] Reputation System / Система репутации
Если честно, я не хочу мучиться с Денвером. Остальные моды меня мало заботят.
Если тут скажут, что мод Олега работает - буду обновляться, если нет - то нет.
Если тут скажут, что мод Олега работает - буду обновляться, если нет - то нет.
-
FladeX
- Former team member
- Сообщения: 1935
- Стаж: 19 лет 3 месяца
- Откуда: Саранск
- Благодарил (а): 7 раз
- Поблагодарили: 59 раз
Re: [DEV] Reputation System / Система репутации
Я обновлялся, всё нормально. А почему подумали, что могут быть проблемы при обновлении?romeo_piter писал(а):Ктото обновлялся с этим модом до 3.0.6?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
-
boloto
- phpBB 1.4.4
- Сообщения: 126
- Стаж: 16 лет 11 месяцев
- Благодарил (а): 57 раз
- Поблагодарили: 10 раз
Re: [DEV] Reputation System / Система репутации
Сделал небольшой, но удобный аддон к моду. Позволяет на странице топика видеть кол-во отзывов по сообщению.
Т.е. вот так: Небольшие комментарии: я уверен, что можно сделать более изящно и толково. Я сделал, по мере своих знаний и умений. На странице топика специально выводится ненавязчиво и особо не выделяется. На странице просмотра отзывов умышленно не делаю запрос на заголовок сообщения, чтобы не нагружать лишним запросом, вместо этого выводится просто id сообщения и линк на него.
Теперь код:
в файле reputation.php
заменить
после
добавить
в файле viewtopic.php
после
добавить
после
добавить
после
добавить
в файле \language\ru\mods\reputation.php
после
в файле \styles\prosilver\template\viewtopic_body.html
после
добавить
в файле \styles\subsilver2\template\viewtopic_body.html
после
добавить
создать два файла:
styles\prosilver\template\reputation_topic_body.html
styles\subsilver2\template\reputation_topic_body.html
Буду рад, если гуру просмотрят и внесут правки в мой код, наверняка там много что можно оптимизировать.
Очень рекомендую прочитать дополнение от Kot - [DEV] Reputation System / Система репутации
Т.е. вот так: Небольшие комментарии: я уверен, что можно сделать более изящно и толково. Я сделал, по мере своих знаний и умений. На странице топика специально выводится ненавязчиво и особо не выделяется. На странице просмотра отзывов умышленно не делаю запрос на заголовок сообщения, чтобы не нагружать лишним запросом, вместо этого выводится просто id сообщения и линк на него.
Теперь код:
в файле reputation.php
заменить
Код: Выделить всё
$mode = request_var('mode', 'view');
if (!in_array($mode, array('view', 'change')))
{
Код: Выделить всё
$mode = request_var('mode', 'view', 'reviews');
if (!in_array($mode, array('view', 'change', 'reviews')))
{Код: Выделить всё
'body' => 'reputation_history_body.html')
);
page_footer();
}
Код: Выделить всё
elseif ($mode == 'reviews')
{
$posts_id = request_var('p', $user->data['user_id']);
$start = request_var('start', 0);
if ($start < 0)
{
$start = 0;
}
$page_title = $user->lang['REPUTATION_FOR_POST'];
$sql = "SELECT r.*
FROM " . REPUTATION_TABLE . " r
WHERE reputation_post= $posts_id
ORDER BY r.reputation_time DESC";
$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
$reprows = array();
while ($row = $db->sql_fetchrow($result))
{
$reprows[] = $row;
}
$db->sql_freeresult($result);
$users_cache = array();
$topic_rev = '<a href="' . append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=$posts_id") . '#p' . $posts_id . '">' . $posts_id . '</a>';
$i = 0;
foreach ($reprows as $reprows_key => $reprows_value)
{
$r_userid = $reprows_value['reputation_from'];
$r_comment = nl2br(trim($reprows_value['reputation_comment']));
$r_time = $user->format_date($reprows_value['reputation_time']);
$r_type = $reprows_value['reputation_type'];
$r_image_type = ($r_type) ? $user->img('icon_reputation_up', '+') : $user->img('icon_reputation_down', '−');
$sql = "SELECT u.username, u.user_colour
FROM " . USERS_TABLE . " u
WHERE u.user_id = $r_userid";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$r_username = get_username_string('full', $r_userid, $row['username'], $row['user_colour']);
$template->assign_block_vars('reputationrow', array(
'ROWID' => $i + ($start + 1),
'USERNAME' => $r_username,
'COMMENT' => $r_comment,
'TYPE' => $r_image_type,
'TIME' => $r_time)
);
$i++;
}
$sql = "SELECT COUNT(*) AS rev_cnt
FROM " . REPUTATION_TABLE . "
WHERE reputation_post= $posts_id " ;
$result = $db->sql_query($sql);
$reputation_total_items = $db->sql_fetchfield('rev_cnt');
$db->sql_freeresult($result);
$pagination = generate_pagination(append_sid("{$phpbb_root_path}reputation.$phpEx", "mode=reviews&p=$posts_id"), $reputation_total_items, $config['topics_per_page'], $start);
$on_page = on_page($reputation_total_items, $config['topics_per_page'], $start);
$template->assign_vars(array(
'PAGINATION' => $pagination,
'TOTAL_COMMENTS' => ($reputation_total_items == 1) ? $user->lang['REPUTATION_TOTAL_ONE_COMMENT'] : sprintf($user->lang['REPUTATION_TOTAL_COMMENTS'], $reputation_total_items),
'PAGE_NUMBER' => $on_page,
'TOPIC' => $topic_rev
));
page_header($page_title);
$template->set_filenames(array(
'body' => 'reputation_topic_body.html')
);
page_footer();
}в файле viewtopic.php
после
Код: Выделить всё
'reputation' => $row['user_reputation_total'],Код: Выделить всё
'reviews' => '',Код: Выделить всё
$reputation = '';
}
// Reputation END
Код: Выделить всё
// Review
if ($user->data['user_id'] == ANONYMOUS && !$user->data['is_bot'])
{
$reviews = '';
}
else
{
$sql = 'SELECT COUNT(*) AS rev_cnt
FROM ' . REPUTATION_TABLE .
' WHERE reputation_post =' . $row['post_id'];
$result = $db->sql_query($sql);
$reviews_total_items = $db->sql_fetchfield('rev_cnt');
if ( $reviews_total_items > 0 )
{
$reviews = '<a href="' . append_sid("{$phpbb_root_path}reputation.$phpEx", "mode=reviews&p=" . $row['post_id']) . '" title="' . $user->lang['REVIEWS_HISTORY'] . '">' . $user->lang['REVIEWS'] . '(' . $reviews_total_items . ')' . '</a>';
}
else
{
$reviews = '';
}
}
// Review END
Код: Выделить всё
'POST_ID' => $row['post_id'],Код: Выделить всё
'POST_REVIEWS' => $reviews,в файле \language\ru\mods\reputation.php
после
Код: Выделить всё
'REPUTATION' => 'Репутация',Код: Выделить всё
'REVIEWS' => 'Отзывы',
'REVIEWS_HISTORY' => 'Посмотреть историю отзывов на это сообщение',
'REVIEWS_NO_COMMENTS' => 'Этому <strong>сообщению</strong> ни один пользователь пока не изменял репутацию',
после
Код: Выделить всё
{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> » {postrow.POST_DATE}Код: Выделить всё
<!-- IF postrow.POST_REVIEWS --><b>{postrow.POST_REVIEWS}</b><!-- ENDIF -->после
Код: Выделить всё
<!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE -->Код: Выделить всё
<!-- IF postrow.POST_REVIEWS --><b>{postrow.POST_REVIEWS}</b><!-- ENDIF -->styles\prosilver\template\reputation_topic_body.html
Код: Выделить всё
<!-- INCLUDE overall_header.html -->
<h2 class="solo">{PAGE_TITLE} : {TOPIC} </h2>
<div class="forumbg forumbg-table">
<div class="inner"><span class="corners-top"><span></span></span>
<table class="table1" cellspacing="1" id="reputation-history">
<thead>
<tr>
<th class="row-id">#</th>
<th class="username-from">{L_REPUTATION_USERNAME_FROM}</th>
<th class="comment">{L_REPUTATION_COMMENT}</th>
<th class="type">{L_REPUTATION_TYPE}</th>
<th class="time">{L_REPUTATION_TIME}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN reputationrow -->
<tr class="<!-- IF reputationrow.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td class="row-id">{reputationrow.ROWID}</td>
<td class="username-from"><!-- IF reputationrow.USERNAME -->{reputationrow.USERNAME}<!-- ELSE -->({L_REPUTATION_USER_REMOVED})<!-- ENDIF --></td>
<td class="comment">{reputationrow.COMMENT}</td>
<td class="type">{reputationrow.TYPE}</td>
<td class="time">{reputationrow.TIME}</td>
</tr>
<!-- BEGINELSE -->
<tr class="bg1">
<td colspan="6">{L_REVIEWS_NO_COMMENTS}</td>
</tr>
<!-- END reputationrow -->
</tbody>
</table>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr />
<ul class="linklist">
<li class="rightside pagination">{TOTAL_COMMENTS} • <!-- IF PAGINATION --><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> • <span>{PAGINATION}</span><!-- ELSE -->{PAGE_NUMBER}<!-- ENDIF --></li>
</ul>
<!-- INCLUDE overall_footer.html -->
Код: Выделить всё
<!-- INCLUDE overall_header.html -->
<b class="gen">{L_REPUTATION_FOR_POST}: {TOPIC} </b>
<table class="tablebg" width="100%" cellspacing="1" id="reputation-history">
<tr>
<th nowrap="nowrap">#</th>
<th nowrap="nowrap">{L_REPUTATION_USERNAME_FROM}</th>
<th nowrap="nowrap">{L_REPUTATION_COMMENT}</th>
<th nowrap="nowrap">{L_REPUTATION_TYPE}</th>
<th nowrap="nowrap">{L_REPUTATION_TIME}</th>
</tr>
<!-- BEGIN reputationrow -->
<!-- IF reputationrow.S_ROW_COUNT is even --><tr class="row2"><!-- ELSE --><tr class="row1"><!-- ENDIF -->
<td class="gen" align="center"> {reputationrow.ROWID} </td>
<td class="genmed" align="{S_CONTENT_FLOW_BEGIN}"><!-- IF reputationrow.USERNAME -->{reputationrow.USERNAME}<!-- ELSE -->({L_REPUTATION_USER_REMOVED})<!-- ENDIF --></td>
<td class="genmed" align="{S_CONTENT_FLOW_BEGIN}">{reputationrow.COMMENT}</td>
<td class="gen" align="center">{reputationrow.TYPE}</td>
<td class="gen" align="center">{reputationrow.TIME}</td>
</tr>
<!-- BEGINELSE -->
<tr>
<td class="gen" align="center" colspan="6">{L_REVIEWS_NO_COMMENTS}</td>
</tr>
<!-- END reputationrow -->
</table>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pagination">{TOTAL_COMMENTS}</td>
<td align="{S_CONTENT_FLOW_END}"><!-- IF PAGINATION --><b class="nav"><a href="#" onclick="jumpto(); return false;">{PAGE_NUMBER}</a></b><br /><span class="pagination">{PAGINATION}</span><!-- ELSE -->{PAGE_NUMBER}<!-- ENDIF --></span></td>
</tr>
</table>
<!-- INCLUDE overall_footer.html -->
Буду рад, если гуру просмотрят и внесут правки в мой код, наверняка там много что можно оптимизировать.
Очень рекомендую прочитать дополнение от Kot - [DEV] Reputation System / Система репутации
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось boloto 08.11.2012 8:15, всего редактировалось 3 раза.
-
FladeX
- Former team member
- Сообщения: 1935
- Стаж: 19 лет 3 месяца
- Откуда: Саранск
- Благодарил (а): 7 раз
- Поблагодарили: 59 раз
Re: [DEV] Reputation System / Система репутации
boloto, спасибо, хорошо придумали 
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
-
mau
- phpBB 2.0.0
- Сообщения: 220
- Стаж: 18 лет 4 месяца
- Откуда: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 12 раз
Re: [DEV] Reputation System / Система репутации
Дополнение очень нужное, но в моде из-за этого появляется еще одна ошибка при просмотре отзыва
[phpBB Debug] PHP Notice: in file /reputation.php on line 238: Undefined variable: pagination
[phpBB Debug] PHP Notice: in file /reputation.php on line 238: Undefined variable: pagination
Люди, которые и впрямь любят животных, всегда спрашивают их имена
-
boloto
- phpBB 1.4.4
- Сообщения: 126
- Стаж: 16 лет 11 месяцев
- Благодарил (а): 57 раз
- Поблагодарили: 10 раз
Re: [DEV] Reputation System / Система репутации
спасибо за отзыв. Да, действительно я провтыкал одну строку в reputation.phpmau писал(а):Дополнение очень нужное, но в моде из-за этого появляется еще одна ошибка при просмотре отзыва[phpBB Debug] PHP Notice: in file /reputation.php on line 238: Undefined variable: pagination
Код: Выделить всё
$pagination = generate_pagination(append_sid("{$phpbb_root_path}reputation.$phpEx", "mode=reviews&p=$posts_id"), $reputation_total_items, $config['topics_per_page'], $start);Код: Выделить всё
$on_page = on_page($reputation_total_items, $config['topics_per_page'], $start);реально это может возникнуть, если отзывов за сообщение будет больше 25 (по умолчанию), а такое ох и маловероятно на моем форуме ;)
-
mau
- phpBB 2.0.0
- Сообщения: 220
- Стаж: 18 лет 4 месяца
- Откуда: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 12 раз
Re: [DEV] Reputation System / Система репутации
Спасибо, работает. А вот как изменить умолчание с 25 на большее количество?
Люди, которые и впрямь любят животных, всегда спрашивают их имена
-
boloto
- phpBB 1.4.4
- Сообщения: 126
- Стаж: 16 лет 11 месяцев
- Благодарил (а): 57 раз
- Поблагодарили: 10 раз
Re: [DEV] Reputation System / Система репутации
в админке в Размещение сообщений: Сообщений на странице: по умолчанию там 25. Можно изменить на другое число, но это само собой повлияет не только на репу, но и на кол-во отображаемых сообщений в топике.mau писал(а):А вот как изменить умолчание с 25 на большее количество?
А брать число отсюда для отображения кол-ва репы на страницу задумал автор мода Oleg NT.
-
dar
- phpBB 1.0.0
- Сообщения: 0
- Стаж: 16 лет 8 месяцев
Re: [DEV] Reputation System / Система репутации
привет всем, помогите с данной проблемой, как найти и убрать синтаксическую ошибку в файле?
выходит надпись:
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/name/public_html/forum/viewtopic.php on line 1102
есть программа какая нибудь где идет счет строк?
выходит надпись:
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/name/public_html/forum/viewtopic.php on line 1102
есть программа какая нибудь где идет счет строк?

