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

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

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

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

Сообщение twistfire »

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Стаж: 19 лет 7 месяцев
Откуда: Санкт-Петербург
Благодарил (а): 1 раз
Контактная информация:

Сообщение MXM »

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

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

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

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

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

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

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

Сообщение VadimE »

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

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
Стаж: 16 лет

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

Сообщение VadimE »

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

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
Стаж: 15 лет 1 месяц

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

Сообщение EugenDnepr »

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

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

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

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

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

Сообщение EugenDnepr »

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

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

Сообщение yurayurayura »

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

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

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

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

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

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

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
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

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

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

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

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