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

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
КиШ
phpBB 1.4.2
Сообщения: 70
Стаж: 16 лет 9 месяцев
Откуда: Эстония, Таллинн
Благодарил (а): 3 раза
Контактная информация:

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

Сообщение КиШ »

Доброе время суток! Я хочу разместить в шапке URL, который должны видеть только пользователи определённой группы... Как это сделать? :oops:
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 36 раз
Поблагодарили: 1435 раз

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

Сообщение Nekstati »

Найти в 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 нужной группы.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

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

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

Стоит, пожалуй, уточнить, что сработает это только в том случае, если у нужного пользователя указанная группа установлена как группа по умолчанию.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
КиШ
phpBB 1.4.2
Сообщения: 70
Стаж: 16 лет 9 месяцев
Откуда: Эстония, Таллинн
Благодарил (а): 3 раза
Контактная информация:

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

Сообщение КиШ »

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

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

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

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

<!-- IF S_USER_GROUP == 123 or S_USER_GROUP == 124 --> ... <!-- ENDIF -->
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Denis100
phpBB 1.0.0
Сообщения: 2
Стаж: 12 лет 1 месяц
Благодарил (а): 1 раз

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

Сообщение Denis100 »

У меня немного похожий вопрос, но ответа на форуме я найти не смог.
У меня на форуме пользователь может принадлежать к нескольким группам.
Есть группы с 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']);
}
А нужно для трех вариантов.

Заранее благодарю за помощь
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16354
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 535 раз
Поблагодарили: 2134 раза
Контактная информация:

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

Сообщение rxu »

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 -->
А авторизация уже обработана в скрипте.
Изображение
Denis100
phpBB 1.0.0
Сообщения: 2
Стаж: 12 лет 1 месяц
Благодарил (а): 1 раз

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

Сообщение Denis100 »

rxu,

Спасибо. Все получилось
Аватара пользователя
vubo
phpBB 1.4.1
Сообщения: 45
Стаж: 13 лет 4 месяца
Благодарил (а): 15 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение vubo »

Nekstati писал(а):Найти в 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 нужной группы.
Спасибо за решение! А подскажите, если я использую это в созданной страничке kurs.html, то что мне нужно прописать в kurs.php, чтобы это заработало?

Сейчас kurs.php выглядит вот так:

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

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('Курсы');

$template->set_filenames(array(
'body' => 'kurs.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

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

Сообщение Sheer »

После page_header('Курсы'); вставить

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

$template->assign_vars(array(
	'S_USER_GROUP'	=> $user->data['group_id'],
	)
);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
vubo
phpBB 1.4.1
Сообщения: 45
Стаж: 13 лет 4 месяца
Благодарил (а): 15 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение vubo »

Очень здорово! Спасибо большое!

А подскажите, пожалуйста, что еще прописать в kurs.php, чтобы заработал <!-- IF U_ACP--> ?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

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

Сообщение Sheer »

Ничего. Этот объект шаблона определяется при вызове функции page_header()
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
lex0013
phpBB 1.0.0
Сообщения: 4
Стаж: 10 лет 7 месяцев
Откуда: Poltava
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение lex0013 »

Помогите, очень долго мучаюсь.
У меня не работает следующий код:

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

<!-- IF not S_IS_BOT --> содержимое все равно отображается ботам <!-- ENDIF -->
Пробовал и с id для групп, и в базе смотрел, права для групп и ботов правильные.
Как определить почему не работает, может каким-то глубоким профилирование php , посоветуйте куда копать и что делать.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

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

Сообщение Sheer »

В каком сценарии не работает?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
lex0013
phpBB 1.0.0
Сообщения: 4
Стаж: 10 лет 7 месяцев
Откуда: Poltava
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение lex0013 »

Нигде не работает, ни в хедере, ни в футере, проверял просмотром от пользователя бот, ранше все работало.
Закрыто

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