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

Темы по наиболее часто задаваемым вопросам по phpBB 2.0.x. Читать в первую очередь!
twistfire
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 01.08.2007 21:13

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

Сообщение twistfire » 08.08.2007 14:44

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

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

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

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

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

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

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

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

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

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

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

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

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

ну или часть страницы...
интересуют страницы именно с данными о пользователях и группах...

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Сообщение Палыч » 08.08.2007 15:57

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

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

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
Зарегистрирован: 17.08.2004 13:45
Откуда: Санкт-Петербург
Благодарил (а): 1 раз

Сообщение MXM » 18.01.2008 10:50

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

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

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

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Сообщение Палыч » 18.01.2008 11:21

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

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

Аватара пользователя
VadimE
phpBB 1.2.0
Сообщения: 14
Зарегистрирован: 01.03.2008 21:45

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

Сообщение VadimE » 22.07.2008 14:38

Внес указанные мастерами изменения все получилось, но в нижнем статусном окне "Кто сейчас на форуме"
отображаются ники зарегестрированных пользователей, как и там это скрыть от "Гостей"?

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза

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

Сообщение Поручик » 22.07.2008 14:47

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

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

#
#------- [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
Зарегистрирован: 01.03.2008 21:45

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

Сообщение VadimE » 22.07.2008 15:03

Если кликнуть на "Кто сейчас на форуме" - то все одно покажет юзеров.

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза

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

Сообщение Поручик » 22.07.2008 15:18

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

#
#------- [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
Зарегистрирован: 10.02.2009 14:16

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

Сообщение EugenDnepr » 14.02.2009 5:02

Ввел все вышеописанные коды,все работает спасибо большое Палычу и Поручику,но вопрос не исчерпан,так как в строке "Последний зарегистрированный пользователь:" ,если щелкнуть по имени этого самого последнего пользователя то показывает его личные данные гостям...

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

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

Сообщение Палыч » 14.02.2009 13:57

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

Аватара пользователя
EugenDnepr
phpBB 1.4.0
Сообщения: 35
Зарегистрирован: 10.02.2009 14:16

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

Сообщение EugenDnepr » 14.02.2009 17:54

Палыч Спасибо,все верно...

yurayurayura
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 15.02.2009 15:38
Поблагодарили: 1 раз

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

Сообщение yurayurayura » 15.02.2009 16:23

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

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

if ($userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD) 

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

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

Сообщение Палыч » 15.02.2009 20:56

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

yurayurayura
phpBB 1.0.0
Сообщения: 9
Зарегистрирован: 15.02.2009 15:38
Поблагодарили: 1 раз

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

Сообщение yurayurayura » 16.02.2009 19:51

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

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

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
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

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

Сообщение Палыч » 16.02.2009 19:55

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

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