Пропустить

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

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

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

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

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

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

ОТКРЫТЬ
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>';
Аватара пользователя
Егор Наклоняев
phpBB 2.0.12
 
Сообщения: 404
Зарегистрирован: 25.10.2004 3:27
Откуда: оттуда
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение quazi » 18.04.2005 10:07

#
#-----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 раз.

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 19:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Chemist » 20.05.2005 13:53

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

Если фортуна повернулась к тебе задом... не теряйся!
Аватара пользователя
Chemist
phpBB 1.4.2
 
Сообщения: 51
Зарегистрирован: 28.03.2005 15:45
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение quazi » 20.05.2005 15:34

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

а форум в ответ
Извините, такого пользователя не существует

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 19:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Chemist » 20.05.2005 15:49

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

Если фортуна повернулась к тебе задом... не теряйся!
Аватара пользователя
Chemist
phpBB 1.4.2
 
Сообщения: 51
Зарегистрирован: 28.03.2005 15:45
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение quazi » 20.05.2005 16:48

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

я исправил свой первый пост в этой теме с учетом сказанного

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 19:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Chemist » 20.05.2005 17:04

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

Если фортуна повернулась к тебе задом... не теряйся!
Аватара пользователя
Chemist
phpBB 1.4.2
 
Сообщения: 51
Зарегистрирован: 28.03.2005 15:45
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


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

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы