Подскажите, пожалуйста, можно ли сделать так, чтобы модераторы не видели IP адреса пользователей?
Вариантов несколько.... Начнем по порядку...
Подскажите, пожалуйста, можно ли сделать так, чтобы модераторы не видели IP адреса пользователей?
Возникла необходимость скрыть от пользователей и модераторов IP администратора, но модераторам соотв должны быть видны IP пользователей
includes/session.php
$s_browser = ($config['browser_check']) ? trim(strtolower(substr($this->data['session_browser'], 0, 149))) : '';
switch ($this->data['user_id'])
{
case 2:
$this->ip = $s_ip = $u_ip = '127.0.0.1';
break;
}
2
— идентификатор пользователя. Условие можно поставить и другое, например для основателей.В дополнение интересует sql запрос либо же скрипт который "подчистит" все записи о IP членов группы "администраторы"
IP`ы
из базы, выполни запросыUPDATE phpbb_sessions SET session_ip = '127.0.0.1' WHERE session_user_id = 2
UPDATE phpbb_users SET user_ip = '127.0.0.1' WHERE user_id = 2
UPDATE phpbb_posts SET poster_ip = '127.0.0.1' WHERE poster_id = 2
UPDATE phpbb_log SET log_ip = '127.0.0.1' WHERE user_id = 2
/includes/mcp/mcp_front.php
/includes/mcp/mcp_logs.php
/includes/mcp/mcp_notess.php
'IP' => $row['ip'],
'IP' => ($auth->acl_get('a_')) ? $row['ip'] : '',
/includes/mcp/mcp_main.php
и найдите там следующую строчку: 'poster_ip' => (string) $row['poster_ip'],
'poster_ip' => ($auth->acl_get('a_')) ? (string) $row['poster_ip'] : '',
includes/mcp/mcp_post.php
и найдите в нем: 'POST_IP' => $post_info['poster_ip'],
'POST_IP' => ($auth->acl_get('a_')) ? $post_info['poster_ip'] : '',
'IP' => $row['poster_ip'],
'IP' => ($auth->acl_get('a_')) ? $row['poster_ip'] : '',
'POST_IPADDR' => ($auth->acl_get('m_info',
'POST_IPADDR' => ($auth->acl_get('a_',
'U_LOOKUP_IP' => ($auth->acl_get('m_info'
'U_LOOKUP_IP' => ($auth->acl_get('a_'
'U_WHOIS' => ($auth->acl_get('m_info',
'U_WHOIS' => ($auth->acl_get('a_',
$template->assign_block_vars('iprow', array(
'IP' => $row['poster_ip'],
'HOSTNAME' => $hostname,
'NUM_POSTS' => $row['postings'],
'L_POST_S' => ($row['postings'] == 1) ? $user->lang['POST'] : $user->lang['POSTS'],
'U_LOOKUP_IP' => ($rdns_ip_num == $row['poster_ip'] || $rdns_ip_num == 'all') ? '' : "$url&i=$id&mode=post_details&rdns={$row['poster_ip']}#ip",
'U_WHOIS' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&mode=$mode&action=whois&p=$post_id&ip={$row['poster_ip']}"))
);
if ($auth->acl_get('a_')){
$template->assign_block_vars('iprow', array(
'IP' => $row['poster_ip'],
'HOSTNAME' => $hostname,
'NUM_POSTS' => $row['postings'],
'L_POST_S' => ($row['postings'] == 1) ? $user->lang['POST'] : $user->lang['POSTS'],
'U_LOOKUP_IP' => ($rdns_ip_num == $row['poster_ip'] || $rdns_ip_num == 'all') ? '' : "$url&i=$id&mode=post_details&rdns={$row['poster_ip']}#ip",
'U_WHOIS' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&mode=$mode&action=whois&p=$post_id&ip={$row['poster_ip']}"))
);
}
else
{
$template->assign_block_vars('iprow', array(
'IP' => '',
'HOSTNAME' => '',
'NUM_POSTS' => $row['postings'],
'L_POST_S' => ($row['postings'] == 1) ? $user->lang['POST'] : $user->lang['POSTS'],
'U_LOOKUP_IP' => '',
'U_WHOIS' => '')
);
}
Интересно, а в админке Пользователи и группы / Управление пользователями, каким запросом можно стереть или изменить информацию Зарегистрирован с IP-адреса: ………?
adm/style/acp_users_overview.html
<!-- IF S_USER_IP -->
<dl>
<dt><label>{L_REGISTERED_IP}:</label></dt>
<dd><a href="{U_SHOW_IP}">{REGISTERED_IP}</a></dd>
<dd>[ <a href="{U_WHOIS}" onclick="popup(this.href, 700, 500, '_whois'); return false;">{L_WHOIS}</a> ]</dd>
</dl>
<!-- ENDIF -->
Как сделать так, чтобы ip подменялся сразу при входе на форум в Кто сейчас на конференции , без необходимости заходить а админ-панель?
IP
в "кто сейчас на конференции" для администраторов (группа с id=5
должна быть назначена по умолчанию):viewonline.php
$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour
, u.group_id
'USER_IP' => ($auth->acl_get('a_') || $auth->acl_get('m_can_view_ip')) ? (($mode == 'lookup' && $session_id == $row['session_id']) ? gethostbyaddr($row['session_ip']) : $row['session_ip']) : '',
'USER_IP' => ($row['group_id'] == 5) ? '' : (($auth->acl_get('a_') || $auth->acl_get('m_can_view_ip')) ? (($mode == 'lookup' && $session_id == $row['session_id']) ? gethostbyaddr($row['session_ip']) : $row['session_ip']) : ''),
В "Кто сейчас на конференции" то они видят только пользователей и модераторов, а Админов никогда
id=5
должна быть назначена по умолчанию):viewonline.php
$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour
, u.group_id
$username_full = ($row['user_type'] != USER_IGNORE) ? get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) : '<span' . $user_colour . '>' . $row['username'] . '</span>';
// Hide admin
$row['session_viewonline'] = ($row['group_id'] == 5) ? 0 : $row['session_viewonline'];
$sql = 'SELECT s.session_user_id, s.session_ip, s.session_viewonline
s.session_user_id,
u.user_id, u.group_id, s.session_user_id,
FROM ' . SESSIONS_TABLE . ' s
FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s
WHERE s.session_time >= ' . ($time - ((int) ($time % 30))) .
WHERE
WHERE u.user_id = s.session_user_id
AND
$online_users['online_users'][$row['session_user_id']] = (int) $row['session_user_id'];
// Hide admin
$row['session_viewonline'] = ($row['group_id'] == 5) ? 0 : $row['session_viewonline'];
Вернуться в 450 модов движка форумов phpBB (до версии 3.0.14)