Страница 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 вроде как нет, то только правкой кода.
Например, найти

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

		// Get us some users :D
Добавить после

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

		$sql_where = 'AND u.user_id <> 2 ';
Пользователь с 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";
После

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

 		// Count the users ...
нужно добавить

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

$sql_where .= ' AND ' . $db->sql_in_set('u.user_id', array(2, 3, 4), true) . '';
Тогда после

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

 	// Get us some users :D
ничего добавлять не нужно. Одного раза будет достаточно.

Отправлено спустя 8 минут 48 секунд:
Хм... наврал, есть событие core.memberlist_modify_sql_query_data, значит вопрос можно решить при помощи расширения без правки кода.

Re: Скрыть пользователя из списка пользователей

Добавлено: 06.02.2019 23:43
Sheer
Сделано скуки ради [3.2]Hide user