Пропустить

URL для определённой группы

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

URL для определённой группы

Сообщение КиШ » 18.08.2010 20:17

Доброе время суток! Я хочу разместить в шапке URL, который должны видеть только пользователи определённой группы... Как это сделать? :oops:
Аватара пользователя
КиШ
phpBB 1.4.4
 
Сообщения: 70
Зарегистрирован: 29.06.2007 10:28
Откуда: Эстония, Таллинн
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Re: URL для определённой группы

Сообщение Nekstati » 18.08.2010 20:51

Найти в includes/functions.php
		'S_USER_NEW'					=> $user->data['user_new'],

Добавить после
		'S_USER_GROUP'					=> $user->data['group_id'],

И использовать в шаблоне условие <!-- IF S_USER_GROUP == 123 --> ... <!-- ENDIF -->, где 123 = ID нужной группы.
За это сообщение автора Nekstati поблагодарил:
КиШ (18.08.2010 20:53)
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: URL для определённой группы

Сообщение Палыч » 18.08.2010 20:57

Стоит, пожалуй, уточнить, что сработает это только в том случае, если у нужного пользователя указанная группа установлена как группа по умолчанию.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
За это сообщение автора Палыч поблагодарил:
КиШ (18.08.2010 21:23)
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: URL для определённой группы

Сообщение КиШ » 18.08.2010 21:23

а можно туда вписать две группы? или только можно одну группу писать вместо "123"?
Аватара пользователя
КиШ
phpBB 1.4.4
 
Сообщения: 70
Зарегистрирован: 29.06.2007 10:28
Откуда: Эстония, Таллинн
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Re: URL для определённой группы

Сообщение Палыч » 18.08.2010 21:45

<!-- IF S_USER_GROUP == 123 or S_USER_GROUP == 124 --> ... <!-- ENDIF -->
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
За это сообщение автора Палыч поблагодарил:
КиШ (18.08.2010 21:50)
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: URL для определённой группы

Сообщение Denis100 » 09.03.2012 23:26

У меня немного похожий вопрос, но ответа на форуме я найти не смог.
У меня на форуме пользователь может принадлежать к нескольким группам.
Есть группы с ID=11 и ID=12.
Я изменил файл functions.php добавив в него
 // Check what group a user is in 
   if ( !function_exists('group_memberships') )
   {
      include_once($phpbb_root_path . 'includes/functions_user.'.$phpEx);
   }

   $groups = group_memberships(false,$user->data['user_id']);
   foreach ($groups as $grouprec)
   {
      $template->assign_vars(array(
         'S_IN_GROUP_' . $grouprec['group_id'] => true
      ));
   }

Cоздал два шаблона (page11_body.html и page12_body.html) в папке template - один используется для группы 11, другой для группы 12.
Соответственно создал два файла php (page11.php и page12.php).
Добавил ссылки с условием
<!-- IF S_IN_GROUP_11 --><a href="page11.php" title="Page11"><img src="{T_THEME_PATH}/images/page11.gif" width="16" height="16" alt="*" />Страница для группы 11</a><!-- ENDIF -->

и соответствующую для группы 12 в файл overall_header.html.

Но если пользователь из группы 12 знает/имеет ссылку на страницу page11.php, то он сможет просмотреть эту страницу, а это не желательно.

Какое нужно внести условие в файл page11.php, чтобы
в случае если пользователь входит в группу 11 для него использовался шаблон page11_body.html
в случае если пользователь не входит в группу 11 для него использовался шаблон page12_body.html
в случае если пользователь не авторизован его выкидывало бы на страницу авторизации.

Сейчас для последнего случая работает условие
if ($user->data['user_id'] == ANONYMOUS)
//if ($user_group->data['group_id'] == '10')
{
    login_box('', $user->lang['LOGIN']);
}


А нужно для трех вариантов.

Заранее благодарю за помощь

Denis100
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 09.03.2012 22:59
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: URL для определённой группы

Сообщение rxu » 10.03.2012 8:04

Denis100 писал(а):Какое нужно внести условие в файл page11.php, чтобы в случае если пользователь входит в группу 11 для него использовался шаблон page11_body.html в случае если пользователь не входит в группу 11 для него использовался шаблон page12_body.html


Скорее, нужен один внешний шаблон, в котором будет код:
<!-- IF S_IN_GROUP_11 -->
	<!-- INCLUDE page11_body.html -->
<!-- ELSE -->
	<!-- INCLUDE page12_body.html -->
<!-- ENDIF -->


А авторизация уже обработана в скрипте.
Изображение
За это сообщение автора rxu поблагодарил:
Denis100 (10.03.2012 9:22)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7366
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 270 раз.

Re: URL для определённой группы

Сообщение Denis100 » 10.03.2012 9:23

rxu,

Спасибо. Все получилось

Denis100
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 09.03.2012 22:59
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.


Вернуться в Для авторов (phpBB 3.0.x)

 

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

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

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

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