Быстрый лёгкий надёжный форумный движок
Вы не вошли.
hcs
Что нужно изменить в userlist.php чтобы когда переходиш на юзер-лист выдавался бы сразу список не по имени а сразу по репутации?
Вроде что-то здесь нужно изменить:
$sort_by = (!isset($_GET['sort_by']) || $_GET['sort_by'] != 'username' && $_GET['sort_by'] != 'registered' && $_GET['sort_by'] != 'reputation' && ($_GET['sort_by'] != 'num_posts' || !$show_post_count)) ? 'username' : $_GET['sort_by'];
???
Т.е. при нажатии в верхнем меню на http://punbb.ru/userlist.php выдавался список по репутации когда бОльшее значение вверху.
дополнить строку параметром sort_by=reputation, только не в юзерлист, а в функции вывода меню навигации
дополнить строку параметром sort_by=reputation, только не в юзерлист, а в функции вывода меню навигации
Но там везде так уже прописано.
То есть там и для имени и для постов и для даты регистрации прописано:
sort_by=='reputation'
sort_by=='username'
sort_by=='registered'
sort_by=='num_posts'
Я даже в селекте sort_by=='reputation' вывел наверх...
Но всё равно открывается по имени.
Ты не понял, в функции вывода меню навигации!
Это там где - "Главная, Пользователи, Писк, Профиль, Выйти", в шапке
Наведи на юзерлист мышку - там написано - userlist.php, а должно быть - userlist.php?sort_by=reputation
Для этого надо добавить ?sort_by=reputation в функцию вывода меню - generate_menu в function.php, чо вы все время не с той стороны заходите то
hcs
А, всё понял теперь, сенкс.
$sort_by = (!isset($_GET['sort_by']) || $_GET['sort_by'] != 'username' && $_GET['sort_by'] != 'registered' && $_GET['sort_by'] != 'reputation' && ($_GET['sort_by'] != 'num_posts' || !$show_post_count)) ? 'reputation' : $_GET['sort_by'];
Можно по идее и так
Slavik
Точно так лучше (а то нужно было править в функшн.пхп вставляя в заголовок это: userlist.php?username=&show_group=-1&sort_by=reputation&sort_dir=DESC&search=%CE%F2%EF%F0%E0%E2%E8%F2%FC).
Но только так выводит бОльшее значение внизу, а надо чтобы бОльшее было вверху.
Великая трабла:
Поменяй это
$sort_dir = (!isset($_GET['sort_dir']) || $_GET['sort_dir'] != 'ASC' && $_GET['sort_dir'] != 'DESC') ? 'ASC' : strtoupper($_GET['sort_dir']);
на это:
$sort_dir = (!isset($_GET['sort_dir']) || $_GET['sort_dir'] != 'ASC' && $_GET['sort_dir'] != 'DESC') ? 'DESC' : strtoupper($_GET['sort_dir']);
Slavik
То что нужно
Классно.
serlist.php?username=&show_group=-1&sort_by=reputation&sort_dir=DESC&search=%CE%F2%EF%F0%E0%E2%E8%F2%FC)
я не понял а это вообще зачем
я не понял а это вообще зачем
Это чтобы бОльшее значение по репутации было вверху.
Этот вариант userlist.php?sort_by=reputation - даёт результат бОльшие внизу.
Если зайти userlist.php?sort_by=reputation и там в селекте выбрать "по убыванию" то выдаст это:
serlist.php?username=&show_group=-1&sort_by=reputation&sort_dir=DESC&search=%CE%F2%EF%F0%E0%E2%E8%F2%FC)
Впринципе это тоже вариант.
Но Slavik лучше.
Добавлено 02.08.2007 19:02:09:
Если кому нужно внизу код вывода рейтинга по репутации в любом месте форума нужно вставить код:
<?php
$username = (isset($_GET['username']) && $pun_user['g_search_users'] == '1') ?
$_GET['username'] : '';
$show_group = (!isset($_GET['show_group']) || intval($_GET['show_group']) < -1 &&
intval($_GET['show_group']) > 2) ? -1 : intval($_GET['show_group']);
$sort_by = (!isset($_GET['sort_by']) || $_GET['sort_by'] != 'username' && $_GET['sort_by'] !=
'registered' && $_GET['sort_by'] != 'reputation' && ($_GET['sort_by'] != 'num_posts' ||
!$show_post_count)) ? 'reputation' : $_GET['sort_by'];
$sort_dir = (!isset($_GET['sort_dir']) || $_GET['sort_dir'] != 'ASC' && $_GET['sort_dir'] !=
'DESC') ? 'DESC' : strtoupper($_GET['sort_dir']);
// Determine the user offset (based on $_GET['p'])
$num_pages = ceil($num_users / 50);
$p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : $_GET['p'];
$start_from = 50 * ($p - 1);
// Generate paging links
$paging_links = $lang_common['Pages'].': '.paginate($num_pages, $p,
'userlist.php?username='.urlencode($username).'&show_group='.$show_group.'&sort_by='.
$sort_by.'&sort_dir='.strtoupper($sort_dir));
?>
<fieldset id="profileavatar">
<legend><b>Рейтинг по репутации</b></legend>
<div class="infldset">
<div class="rbox">
<?php
// Grab the users
$result = $db->query('SELECT u.id, u.username, u.title, u.num_posts, u.registered, g.g_id,
g.g_user_title, SUM(r.rep_plus)-SUM(r.rep_minus) AS reputation FROM '.$db->prefix.'users AS u
LEFT JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id LEFT JOIN '.$db->prefix.'reputation
as r ON (r.user_id=u.id) WHERE u.id>1'.(!empty($where_sql) ? ' AND '.implode(' AND ',
$where_sql) : '').' GROUP BY u.id ORDER BY '.$sort_by.' '.$sort_dir.' LIMIT
'.$start_from.', 10') or error('Unable to fetch user list', __FILE__, __LINE__,
$db->error());
if ($db->num_rows($result))
{
while ($user_data = $db->fetch_assoc($result))
{
$user_title_field = get_title($user_data);
?>
<?php echo '<a
href="profile.php?id='.$user_data['id'].'">'.pun_htmlspecialchars($user_data['username']).'</
a>' ?> (<?php echo $user_data['reputation'] ?>)
<?php
}
}
?>
</label>
</div>
</div>
</fieldset>
В коде куча всяких ненужных элементов, но мне лично пойдёт
Работает...
Выводит в таком виде:
Юзер1 (15) Юзер2 (12) Юзер3 (10) Юзер4 (6) Юзер5 (2) Юзер6 (1)
Довольно симатично
А как сделать, чтобы репутацию иожно было изменять в профиле?
Блин мод не ставится....говорит версия не подходит...
You are running a version of PunBB (1.2.15) that this mod does not support. This mod supports PunBB versions: 1.2.10, 1.2.11
открой инсталл.пхп и измени на свою!
Добавлено спустя 50 секунд:
вместо
1.2.11
, поставь
1.2.15
Блин я его устоновил (в админке В Плагинах появились настройки всё настраивается а на игроках ничё не видно как менять репутацию) чё делать?
В ридми описан процесс установки
В ридми описан процесс установки
Я же говорю я его устоновил!!! На форуме он есть в админ панели!!! и настраивается!
Но нету у пользователей ничего!!!
Редактировался DarkSide (2007-06-24 13:06:02)
Опиши последовательность своих действий во время установки.
Опиши последовательность своих действий во время установки.
Install_mod.php запустил потом начал делать всё по Readme.txt и всё!
Мне кто нибудь поможет с Антирегистрацией ботов?
Картинка блин не показывается!
Да и модом репутации тоже нужна помощ!
ВОТ ОШИБКА ПРИ ЗАГРУЗКЕ РИСУНКА!
Fatal error: Call to undefined function: imagecreatefrompng() in W:\www\forum\include\captcha\kcaptcha.php on line 49
Редактировался DarkSide (2007-06-25 07:43:47)
Подскажите плиз в чем трабла... Если у Юзвера нет еще балоов репы, но он просматривает свою статистику, вылазит следующее Notice: Undefined variable: paging_links in m:\home\localhost\www\pun\bb\reputation.php on line 230
[Денвер: показать возможную причину ошибки]
Notice: Undefined variable: is_admmod in m:\home\localhost\www\pun\bb\reputation.php on line 231
это не принципиально но все же
Balt
Это не существенные ошибки.
НАйти в строке 230
<p class="pagelink conl"><?php echo $paging_links ?></p>
заменить на
<p class="pagelink conl"><?php if (isset($paging_links)) echo $paging_links; ?></p>
Найти в строке 231
<?php if ($is_admmod) { ?>
заменить на:
<?php if (isset($is_admmod) && $is_admmod) { ?>
Добавлено спустя 1 минуту 1 секунду:
DarkSide
Для каптчи нужно включить GD, по-моему это написано и в факе и в требованиях к нашей сборке
hcs
Пасибище
А как сделать, чтобы модеры не могли удалять плюсы/минусы??? заранее спасибо!!
reputation.php, строка 57, найти
if ($pun_user['g_id'] == PUN_ADMIN || $pun_user['g_id'] == PUN_MOD)
заменить на
if ($pun_user['g_id'] == PUN_ADMIN)