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

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Ответить
Николай Петрович
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 05.02.2019 19:47
Благодарил (а): 6 раз

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

Сообщение Николай Петрович » 05.02.2019 20:57

Хочу узнать, как скрыть пользователя из списка пользователей форума

Нашел замечательный ответ, но, к сожалению, от 2006 года
Скрыть частично список Пользователей

После вдумчивого изучения memberlist.php моего форума я пришел к выводу, что за последние 13 лет код успел несколько измениться (кто бы мог подумать, да ты шутишь, шок, не может быть)

Может, кто-то расскажет, как это сделать сейчас, на актуальной версии движка? Что куда написать?

Вообще-то, говоря конкретнее, я хотел бы скрыть админа, того первого пользователя, который создается при установке форума, чтобы его нигде не было видно

У меня phpBB 3.2.5

Спасибо

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9094
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 160 раз
Поблагодарили: 2540 раз
Контактная информация:

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

Сообщение Татьяна5 » 05.02.2019 21:02

Назначьте основателем любого другого пользователя, а на этом после назначения другого переключатель выставите на "нет". Никаких других преимуществ у первого пользователя нет
(Как ни скрывай, id у пользователя не изменится, всё равно будут знать кого взламывать)

Николай Петрович
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 05.02.2019 19:47
Благодарил (а): 6 раз

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

Сообщение Николай Петрович » 05.02.2019 21:04

Спасибо, как вариант

Николай Петрович
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 05.02.2019 19:47
Благодарил (а): 6 раз

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

Сообщение Николай Петрович » 05.02.2019 21:46

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

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11008
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 42 раза
Поблагодарили: 2395 раз
Контактная информация:

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

Сообщение Sheer » 05.02.2019 22:04

Поскольку подходящих событий в memberlist.php вроде как нет, то только правкой кода.
Например, найти

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

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

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

		$sql_where = 'AND u.user_id <> 2 ';
Пользователь с user_id 2 не попадет в список пользователей.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Николай Петрович
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 05.02.2019 19:47
Благодарил (а): 6 раз

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

Сообщение Николай Петрович » 05.02.2019 23:56

Sheer писал(а):
05.02.2019 22:04
Пользователь с user_id 2 не попадет в список пользователей.
Здорово, а если надо скрыть, предположим, трех пользователей с id 2, 3 и 4, как должна выглядеть эта строка?

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11008
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 42 раза
Поблагодарили: 2395 раз
Контактная информация:

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

Сообщение Sheer » 06.02.2019 0:28

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

$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, значит вопрос можно решить при помощи расширения без правки кода.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11008
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 42 раза
Поблагодарили: 2395 раз
Контактная информация:

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

Сообщение Sheer » 06.02.2019 23:43

Сделано скуки ради [3.2]Hide user
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Ответить

Вернуться в «Поддержка phpBB 3.2.x»