Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[DEV] Скрывать неактивных пользователей

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 6 месяцев
Откуда: оттуда

[DEV] Скрывать неактивных пользователей

Сообщение Егор Наклоняев »

Преамбула:
Обнаружил проблему, что на титульной странице отображается последний зарегистрированный пользователь, который фактически ещё не подвердит свою регистрацию по Е-почте.

Вариант решения: На титульной странице для всех только последний зарегитрисрованный и активный пользователь, в списках пользователей: для админа в списке пользователей неактивные показываются зачеркнутыми, пользователи и модераторы - неактивных не видят.

ОТКРЫТЬ
includes/functions.php
НАЙТИ

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

		case 'newestuser':
			$sql = "SELECT user_id, username
				FROM " . USERS_TABLE . "
				WHERE user_id <> " . ANONYMOUS . "
ПОСЛЕ ДОБАВИТЬ

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

				AND user_active=1
ОТКРЫТЬ
memberlist.php

НАЙТИ

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

$sql = "SELECT username, user_id, user_viewemail, user_posts,
В СТРОКЕ ПОСЛЕ

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

user_id,
ДОБАВИТЬ

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

user_active,
ПЕРЕД СТРОКОЙ ВСТАВИТЬ

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

$sql_activeonly=($userdata['user_level'] == ADMIN)?'': 'AND user_active=1';
НАЙТИ

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

WHERE user_id <> " . ANONYMOUS . "
НАЙТИ
$username =$row['username'];
ЗАМЕНИТЬ
$username =($row['user_active'] == 1)? $row['username']:'<strike>'.$row['username'].'</strike>';
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

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

#
#-----open includes/constants.php
#

#
#----- find
#
if ( !defined('IN_PHPBB') )
{
        die("Hacking attempt");
}

#
#----- after add
#
define('COMMON_MODE_ONLY_ACTIVE', ' AND user_active=1 ');

#
#------ open includes/functions.php
#

#
#------ find
#
function get_db_stat($mode)
{
        global $db;

#
#------ after add
#
        global $userdata;
        $show_all_users = ($userdata['user_level'] == ADMIN) ? '' : COMMON_MODE_ONLY_ACTIVE;

#
#----- open memberlist.php
#

#
#----- find
#
$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, use
        FROM " . USERS_TABLE . "
        WHERE user_id <> " . ANONYMOUS . "
        ORDER BY $order_by";

#
#----- replace with
#
$sql = "SELECT *
        FROM " . USERS_TABLE . "
        WHERE user_id <> " . ANONYMOUS . (($userdata['user_level']) ? '' : COMMON_MODE_ONLY_ACTIVE) . "
        ORDER BY $order_by";

#
#---- open includes/usercp_viewprofile.php
#

#
#---- find (FOR phpBB 2.0.15)
#
if (!$profiledata)

#
#----- replace with
#
if ( @$userdata['user_level'] != ADMIN && (!$profiledata || @!$profiledata['user_active']) )
Добавлено спустя 1 минуту 30 секунд:

мой вариант

как следствие
1. только админ видит всех пользователей,
2. остальным пользователям видны только зарегистрированные и активизированные пользователи
3. на странице профиля неактивные пользователи невидны и показывается табличка с сообщением
Извините, такого пользователя не существует
что весьма логично

"мод" немного отличается от мода предыдущего оратора, но лучше все же не показывать неактивизированных пользователей совсем.
Последний раз редактировалось quazi 20.05.2005 16:47, всего редактировалось 1 раз.
Аватара пользователя
Chemist
phpBB 1.4.2
Сообщения: 51
Стаж: 19 лет 1 месяц
Откуда: Москва

Сообщение Chemist »

А я объединил оба мода.
Функционал: неактивированные пользователи видны только админу и в зачеркнутом виде!
Есть любители профиль создать с ссылкой на сайт и усё. Теперь их просто не видно.
Последние работы на elist.ws & motozone.ru!

Если фортуна повернулась к тебе задом... не теряйся!
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

имхо, надо дорабатывать
если пользователь еще неактивен, то говорить, что нет такого
типа набрал
http://www.phpbbguru.net/community/prof ... le&u=20000

а форум в ответ
Извините, такого пользователя не существует
Аватара пользователя
Chemist
phpBB 1.4.2
Сообщения: 51
Стаж: 19 лет 1 месяц
Откуда: Москва

Сообщение Chemist »

Большого смысла нет, ибо если с сайта нет явной ссылки, то никто и не узнает о существовании такой страницы. А этого достаточно, чтобы гости (читай поисковики) их не считывали.
Последние работы на elist.ws & motozone.ru!

Если фортуна повернулась к тебе задом... не теряйся!
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

есть.
ибо если вы скрываете зарегистрированных, но неактивированных юзеров на заглавной, то надо скрывать и в профиле

я исправил свой первый пост в этой теме с учетом сказанного
Аватара пользователя
Chemist
phpBB 1.4.2
Сообщения: 51
Стаж: 19 лет 1 месяц
Откуда: Москва

Сообщение Chemist »

Так их в профиле-то тоже нету. Видимы они только для админа.
Последние работы на elist.ws & motozone.ru!

Если фортуна повернулась к тебе задом... не теряйся!

Вернуться в «Бета-версии модов для phpBB 2.0.x»