Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

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

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

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

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

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

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

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

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

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

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

У меня phpBB 3.2.5

Спасибо
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13177
Стаж: 15 лет 2 месяца
Благодарил (а): 236 раз
Поблагодарили: 3754 раза

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

Сообщение Татьяна5 »

Назначьте основателем любого другого пользователя, а на этом после назначения другого переключатель выставите на "нет". Никаких других преимуществ у первого пользователя нет
(Как ни скрывай, id у пользователя не изменится, всё равно будут знать кого взламывать)
Николай Петрович
phpBB 1.0.0
Сообщения: 4
Стаж: 7 лет 8 месяцев
Благодарил (а): 4 раза

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

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

Спасибо, как вариант
Николай Петрович
phpBB 1.0.0
Сообщения: 4
Стаж: 7 лет 8 месяцев
Благодарил (а): 4 раза

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

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

Но все-таки будет хорошо, если кто-то подскажет, как можно убрать какого-то определенного пользователя из списка пользователей, просто чтобы он там не отображался
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

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

Сообщение Sheer »

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

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

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

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

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

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

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

Sheer писал(а): 05.02.2019 19:04 Пользователь с user_id 2 не попадет в список пользователей.
Здорово, а если надо скрыть, предположим, трех пользователей с id 2, 3 и 4, как должна выглядеть эта строка?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

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

Сообщение 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, значит вопрос можно решить при помощи расширения без правки кода.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

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

Сообщение Sheer »

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

Вернуться в «phpBB 3.2.x (архив)»