Отображение всех хостов пользователей в списке пользователей онлайн

Небольшие моды и хаки для форума phpBB3
Правила форума
При размещении мода/статьи взятой с другого форума/сайта обязательно необходимо указывать первоисточник сообщения.
 • Просмотры: 1043
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

14 фев 2011, 14:19

По умолчанию на странице списка пользователей онлайн, для администраторов отображаются IP адреса пользователей

Если нажать на какой-либо IP адрес отобразится имя хоста для этого IP адреса, это действие нужно проделывать для каждого из IP адресов и нельзя увидеть все хосты сразу

Небольшой мод, добавляет ссылку которая позволяет включать/выключать отображение имён хостов для всех IP адресов

Результат:


/viewonline.php перед

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

// Get user list
добавить

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

//PPK HOSTS
$is_admin=$auth->acl_get('a_') ? 1 : 0;
$show_user_hosts=$is_admin && request_var('suh', 0) ? 1 : 0;
//PPK HOSTS
после

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

'U_WHOIS'			=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'mode=whois&s=' . $row['session_id']),
добавить

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

'USER_HOST'			=> $is_admin && $show_user_hosts ? gethostbyaddr($row['session_ip']) : '',//PPK HOSTS
заменить

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

meta_refresh(60, append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir&start=$start"));
на

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

meta_refresh(60, append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir&start=$start".'&suh='.($show_user_hosts)));//PPK HOSTS
после

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

// Send data to template
$template->assign_vars(array(
добавить

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

	'SHOW_USER_HOSTS' => $is_admin ? (sprintf('<a href="'.append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) $show_guests).'&start='.$start.'&suh='.(!$show_user_hosts ? 1 : 0)).'">%s</a>', !$show_user_hosts ? $user->lang['SHOW_USER_HOSTS'] : $user->lang['HIDE_USER_HOSTS'])) : false,
заменить

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

	'U_SORT_USERNAME'		=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)),
	'U_SORT_UPDATED'		=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)),
	'U_SORT_LOCATION'		=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)),
на

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

	'U_SORT_USERNAME'		=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests).'&suh='.($show_user_hosts)),//PPK HOSTS
	'U_SORT_UPDATED'		=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests).'&suh='.($show_user_hosts)),//PPK HOSTS
	'U_SORT_LOCATION'		=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests).'&suh='.($show_user_hosts)),//PPK HOSTS
заменить

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

'U_SWITCH_GUEST_DISPLAY'	=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) !$show_guests)),
на

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

'U_SWITCH_GUEST_DISPLAY'	=> append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) !$show_guests).'&suh='.($show_user_hosts)),//PPK HOSTS
заменить

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

$pagination = generate_pagination(append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir"), $counter, $config['topics_per_page'], $start);
на

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

$pagination = generate_pagination(append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir".'&suh='.($show_user_hosts)), $counter, $config['topics_per_page'], $start);//PPK HOSTS
/language/ru/common.php перед добавить

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

	//PPK HOSTS
	'SHOW_USER_HOSTS' => 'показывать хосты пользователей',
	'HIDE_USER_HOSTS' => 'не показывать хосты пользователей',
	//PPK HOSTS
/styles/prosilver/template/viewonline_body.html после

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

{L_SWITCH_GUEST_DISPLAY}</a><!-- ENDIF -->
добавить

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

<!-- IF SHOW_USER_HOSTS --> ({SHOW_USER_HOSTS})<!-- ENDIF --><!-- PPK HOSTS -->
после

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

{L_WHOIS}</a></span><!-- ENDIF -->
добавить

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

<!-- IF user_row.USER_HOST --> &#187; <b>{user_row.USER_HOST}</b><!-- ENDIF --><!-- PPK HOSTS -->
/styles/subsilver2/template/viewonline_body.html после

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

{L_SWITCH_GUEST_DISPLAY}</a> ]<!-- ENDIF -->
добавить

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

<!-- IF SHOW_USER_HOSTS --> ({SHOW_USER_HOSTS})<!-- ENDIF --><!-- PPK HOSTS -->
после

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

{L_WHOIS}</a>
добавить

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

<!-- IF user_row.USER_HOST --> &#187; <b>{user_row.USER_HOST}</b><!-- ENDIF --><!-- PPK HOSTS -->
Обновить переделанные стили, очистить кеш.
Аватара пользователя
votept
Благодарил (а): 49 раз
Поблагодарили: 62 раза
Сообщения: 806
Зарегистрирован: 18 июл 2010, 17:57
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

14 фев 2011, 14:23

:yes: СПасибо хорошая штука :drinks:
Аватара пользователя
zzipper
Благодарил (а): 12 раз
Поблагодарили: 10 раз
Сообщения: 427
Зарегистрирован: 20 окт 2009, 14:15
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

14 фев 2011, 17:19

Чота это.. если страниц несколько, при отображении хостов щелкаем на след.страницу и на ней уже хосты не отображаются. Щелкаем заного "отобразить хосты.." - кидает на первую страницу. :unknown:
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

14 фев 2011, 17:30

/viewonline.php заменить

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

$pagination = generate_pagination(append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir"), $counter, $config['topics_per_page'], $start);
на

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

$pagination = generate_pagination(append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir".'&suh='.($show_user_hosts)), $counter, $config['topics_per_page'], $start);//PPK HOSTS

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

'SHOW_USER_HOSTS' => $is_admin ? (sprintf('<a href="'.append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) $show_guests).'&suh='.(!$show_user_hosts ? 1 : 0)).'">%s</a>', !$show_user_hosts ? $user->lang['SHOW_USER_HOSTS'] : $user->lang['HIDE_USER_HOSTS'])) : false,
заменить на

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

'SHOW_USER_HOSTS' => $is_admin ? (sprintf('<a href="'.append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) $show_guests).'&start='.$start.'&suh='.(!$show_user_hosts ? 1 : 0)).'">%s</a>', !$show_user_hosts ? $user->lang['SHOW_USER_HOSTS'] : $user->lang['HIDE_USER_HOSTS'])) : false,
Аватара пользователя
zzipper
Благодарил (а): 12 раз
Поблагодарили: 10 раз
Сообщения: 427
Зарегистрирован: 20 окт 2009, 14:15
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

14 фев 2011, 17:39

Воо. Теперь хорошо.
de
demon1
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Сообщения: 34
Зарегистрирован: 11 окт 2010, 23:03
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

15 фев 2011, 01:12

с этим модом если раздаешь с нескольких айпи под одним ником, тоже начнут все отображаться в списке сидеров?
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение всех хостов пользователей в списке пользователей онлайн

15 фев 2011, 10:35

=) там же скришноты есть.. это вообще "не про то" :|

Вернуться в «Минимоды и хаки для phpBB3»