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

Закрытие страниц. Доступ для гостей, модераторов

Темы по наиболее часто задаваемым вопросам по phpBB 2.0.x. Читать в первую очередь!
twistfire
phpBB 1.0.0
Сообщения: 4
Стаж: 15 лет 1 месяц

Закрытие страниц. Доступ для гостей, модераторов

Сообщение twistfire »

Здравствуйте!

Есть проблема - необходимо не показывать обычным пользователям данные зарегистрированных пользователей.

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

Также хотелось бы скрыть информацию, которая находится в профиле пользователей.

Как это сделать?

есть ли директивы вроде:

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

<!-- BEGIN switch_mod_option -->
- только для администртора?

Хочется просто подобавлять их в нужные места скриптов memberist, groupcp, profile...

Ну т.е. если юзер не админ - выдавать ему - это только для администраторов....
если админ - то по полной пусть работает...

Добавлено спустя 1 час 29 минут 30 секунд:

ну что никто такого не делал?

как закрыть страницу для доступа обычным пользователям а открыть только администраторам?

ну или часть страницы...
интересуют страницы именно с данными о пользователях и группах...
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

Для ограничения на просмотр необходимо добавить код, с условием на просмотр

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

if(УСЛОВИЕ)
{
   $template->assign_vars(array(
      'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("index.$phpEx") . '">')
   );
               
   message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
} 
УСЛОВИЕ:
Для возможности просмотра только администратору

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

if ($userdata['user_level'] != ADMIN) 
Для возможности просмотра только администратору и модератору

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

if ($userdata['user_level'] != ADMIN || $userdata['user_level'] != MOD) 
Для возможности просмотра только зарегистрированным пользователям (кроме Гостей)

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

if (!$userdata['session_logged_in'] ) 
или

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

if ($userdata['user_id'] == ANONYMOUS ) 
В каждом случае вы можете использовать разные условия в зависимости от вашего желания.
ФАЙЛЫ:
Для ограничения на просмотр Списка пользователей нужно редактировать memberlist.php

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

#--- [OPEN] ---
memberlist.php
#--- [FIND] ---
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);
init_userprefs($userdata);
//
// End session management
//
#--- [AFTER ADD] ---
Выше указанный код
Для ограничения на просмотр Групп пользователей файл groupcp.php

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

#--- [OPEN] ---
groupcp.php
#--- [FIND] ---
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_GROUPCP);
init_userprefs($userdata);
//
// End session management
//
#--- [AFTER ADD] ---
Выше указанный код
Для ограничения на просмотр Профилей пользователей нужно редактировать файл profile.php

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

#--- [OPEN] ---
profile.php
#--- [FIND] ---
	if ( $mode == 'viewprofile' )
	{
#--- [AFTER ADD] ---
Выше указанный код
Последний раз редактировалось Палыч 01.02.2008 19:01, всего редактировалось 1 раз.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 18 лет 1 месяц
Откуда: Санкт-Петербург

Сообщение MXM »

Думаю, что на эту тему есть отдельный мод, а может его и нет... хотя было бы странно, что его нет...

Если его нет, то было бы не плохо сделать так, описание:
Для зарегистрированных пользователей:
- просмотр страниц Пользователи, Профиль, Группы.
Для незарегистрированных пользователей:
- возможность просмотра страницы Пользователи, но только пользователей со статусом Администратор и Модератор с уведомлением того, что полный список пользователей только для зарегистрированных.
- возможность просмотра страницы профиля пользователей со статусом Администратор и Модератор
- возможность просмотра страницы Группы, но только групп разрешенные для просмотра, к примеру группа "Администрация" с уведомлением того, что полный список групп только для зарегистрированных.

Всё это для того чтобы гость мог хоть как то связаться с админами и т.д., а то, если запретить всё показывать, то не совсем корректно будет, например случай, если пользователь не имеет возможность зарегистрироваться на форуме по причине того, что на форуме проблема с регистрацией, то он мог связаться с администрацией и сообщить о данной проблеме.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

MXM писал(а):Для зарегистрированных пользователей:
- просмотр страниц Пользователи, Профиль, Группы.
По умолчанию, так и есть, как закрыть для гостей - посты выше.
MXM писал(а):Для незарегистрированных пользователей:

- возможность просмотра страницы Пользователи, но только пользователей со статусом Администратор и Модератор с уведомлением того, что полный список пользователей только для зарегистрированных.
есть МОД Staff - отдельная страница с командой сайта по типу мемберлист
MXM писал(а):- возможность просмотра страницы Группы, но только групп разрешенные для просмотра, к примеру группа "Администрация" с уведомлением того, что полный список групп только для зарегистрированных.
Настраивается в типах групп (скрытая)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
VadimE
phpBB 1.2.0
Сообщения: 14
Стаж: 14 лет 6 месяцев

Re: [FAQ] Закрытие страницы для доступа

Сообщение VadimE »

Внес указанные мастерами изменения все получилось, но в нижнем статусном окне "Кто сейчас на форуме"
отображаются ники зарегестрированных пользователей, как и там это скрыть от "Гостей"?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 17 лет 4 месяца
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Re: [FAQ] Закрытие страницы для доступа

Сообщение Поручик »

Попробуйте это

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

#
#------- [OPEN] -----------------
#
includes/page_header.php

#
#------- [FIND] -----------------
#
		if ( $row['session_logged_in'] )

#
#------- [REPLACE WITH] -----------------
#
		if ( $row['session_logged_in'] && $userdata['session_logged_in'])
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
VadimE
phpBB 1.2.0
Сообщения: 14
Стаж: 14 лет 6 месяцев

Re: [FAQ] Закрытие страницы для доступа

Сообщение VadimE »

Если кликнуть на "Кто сейчас на форуме" - то все одно покажет юзеров.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 17 лет 4 месяца
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Re: [FAQ] Закрытие страницы для доступа

Сообщение Поручик »

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

#
#------- [OPEN] -----------------
#
viewonline.php

#
#------- [FIND] -----------------
#
init_userprefs($userdata);
//
// End session management
//

#
#------- [AFTER, ADD] -----------------
#
	if ( !$userdata['session_logged_in'] )
	{
		$template->assign_vars(array(
		'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("index.$phpEx") . '">')
	);
		message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
	}

Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
EugenDnepr
phpBB 1.4.0
Сообщения: 35
Стаж: 13 лет 7 месяцев

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение EugenDnepr »

Ввел все вышеописанные коды,все работает спасибо большое Палычу и Поручику,но вопрос не исчерпан,так как в строке "Последний зарегистрированный пользователь:" ,если щелкнуть по имени этого самого последнего пользователя то показывает его личные данные гостям...
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение Палыч »

EugenDnepr
Не правильно вставили условия просмотра в profile.php
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
EugenDnepr
phpBB 1.4.0
Сообщения: 35
Стаж: 13 лет 7 месяцев

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение EugenDnepr »

Палыч Спасибо,все верно...
yurayurayura
phpBB 1.0.0
Сообщения: 9
Стаж: 13 лет 7 месяцев

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение yurayurayura »

Помоему нужно && вместо || :

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

if ($userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD) 
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение Палыч »

yurayurayura
Нужно для чего? Чтобы вообще никто не смог просматривать? Тогда, да 8-)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
yurayurayura
phpBB 1.0.0
Сообщения: 9
Стаж: 13 лет 7 месяцев

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение yurayurayura »

Палыч, вот как раз при таком коде

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

if ($userdata['user_level'] != ADMIN || $userdata['user_level'] != MOD)
 {
   $template->assign_vars(array(
      'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("index.$phpEx") . '">')
   );
               
   message_die(GENERAL_MESSAGE, $lang['Not_Authorised']); 
} 
никто просмотреть не сможет. Рассмотрим ситуации: user, ADMIN, MOD.
1)user
if((user != ADMIN) || (user !=MOD))
if(1 || 1)
if(1)
2)ADMIN
if((ADMIN != ADMIN) || (ADMIN !=MOD))
if(0 || 1)
if(1)
3)MOD
if((MOD != ADMIN) || (MOD !=MOD))
if(1 || 0)
if(1)
Я все проверял на деле ).
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Re: Закрытие страниц. Доступ для гостей, модераторов

Сообщение Палыч »

yurayurayura
Вы разницу между логическими И и ИЛИ понимаете?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Вернуться в «FAQ (phpBB 2.0.x)»