Страница 1 из 1
Скрыть пользователя из списка пользователей
Добавлено: 05.02.2019 20:57
Николай Петрович
Хочу узнать, как скрыть пользователя из списка пользователей форума
Нашел замечательный ответ, но, к сожалению, от 2006 года
Скрыть частично список Пользователей
После вдумчивого изучения memberlist.php моего форума я пришел к выводу, что за последние 13 лет код успел несколько измениться
(кто бы мог подумать, да ты шутишь, шок, не может быть)
Может, кто-то расскажет, как это сделать сейчас, на актуальной версии движка? Что куда написать?
Вообще-то, говоря конкретнее, я хотел бы скрыть админа, того первого пользователя, который создается при установке форума, чтобы его нигде не было видно
У меня phpBB 3.2.5
Спасибо
Re: Скрыть пользователя из списка пользователей
Добавлено: 05.02.2019 21:02
Татьяна5
Назначьте основателем любого другого пользователя, а на этом после назначения другого переключатель выставите на "нет". Никаких других преимуществ у первого пользователя нет
(Как ни скрывай, id у пользователя не изменится, всё равно будут знать кого взламывать)
Re: Скрыть пользователя из списка пользователей
Добавлено: 05.02.2019 21:04
Николай Петрович
Спасибо, как вариант
Re: Скрыть пользователя из списка пользователей
Добавлено: 05.02.2019 21:46
Николай Петрович
Но все-таки будет хорошо, если кто-то подскажет, как можно убрать какого-то определенного пользователя из списка пользователей, просто чтобы он там не отображался
Re: Скрыть пользователя из списка пользователей
Добавлено: 05.02.2019 22:04
Sheer
Поскольку подходящих событий в memberlist.php вроде как нет, то только правкой кода.
Например, найти
Добавить после
Пользователь с user_id 2 не попадет в список пользователей.
Re: Скрыть пользователя из списка пользователей
Добавлено: 05.02.2019 23:56
Николай Петрович
Sheer писал(а): ↑05.02.2019 22:04
Пользователь с user_id 2 не попадет в список пользователей.
Здорово, а если надо скрыть, предположим, трех пользователей с id 2, 3 и 4, как должна выглядеть эта строка?
Re: Скрыть пользователя из списка пользователей
Добавлено: 06.02.2019 0:28
Sheer
Код: Выделить всё
$sql_where .= ' AND ' . $db->sql_in_set('u.user_id', array(2, 3, 4), true) . '';
В результате sql-запрос будет таким
Код: Выделить всё
SELECT u.user_id FROM phpbb_users u WHERE u.user_type IN (0, 3, 1) AND u.user_id NOT IN (2, 3, 4) ORDER BY u.user_regdate ASC
Отправлено спустя 5 минут 22 секунды:
Правда стоит отметить, что в списке пользователей количество пользователей все равно остается истинным, то есть не учитывается скрытие этих пользователей. Нужно править еще один sql-запрос.
Код: Выделить всё
// Count the users ...
$sql = 'SELECT COUNT(u.user_id) AS total_users
FROM ' . USERS_TABLE . " u$sql_from
WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
$sql_where";
После
нужно добавить
Код: Выделить всё
$sql_where .= ' AND ' . $db->sql_in_set('u.user_id', array(2, 3, 4), true) . '';
Тогда после
ничего добавлять не нужно. Одного раза будет достаточно.
Отправлено спустя 8 минут 48 секунд:
Хм... наврал, есть событие
core.memberlist_modify_sql_query_data
, значит вопрос можно решить при помощи расширения без правки кода.
Re: Скрыть пользователя из списка пользователей
Добавлено: 06.02.2019 23:43
Sheer
Сделано скуки ради
[3.2]Hide user