Topic Restriction (право может смотреть тему)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Topic Restriction (право может смотреть тему)
Всем привет!
Столкнулся с тем, что в правах доступа к форумам нет возможности отображать форум с листингом тем, но без возможности чтения тем.
Неужели данная возможность не реализована в правах доступа к форумам?
Столкнулся с тем, что в правах доступа к форумам нет возможности отображать форум с листингом тем, но без возможности чтения тем.
Неужели данная возможность не реализована в правах доступа к форумам?
-
МайскийЖук
- phpBB 3.0.7-PL1
- Сообщения: 2535
- Стаж: 16 лет 11 месяцев
- Благодарил (а): 17 раз
- Поблагодарили: 366 раз
Листинг тем без чтения (права доступа)
А зачем это вообще надо?Неужели данная возможность не реализована в правах доступа к форумам?
Пользователь либо имеет доступ к определенному форуму, либо не имеет. На фига ему листинг тем, если он к ним доступа все равно не имеет?
Topic Restriction здесь.
Любовь и боль, покой и бой я как любой несу с собой…
-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Re: Листинг тем без чтения (права доступа)
Подскажите аналоги, у данного мода есть глюк, он не работает при SEF ссылках без передачи id форума в url. Или может кто из спецов исходного кода phpBB подскажет как из идентификатора темы получить идентификатор форума? Код мода следующий:Shredder писал(а):Ищи мод topic restrictions.
Код: Выделить всё
if($auth->acl_get('f_view_topics', $forum_id))
{
if (!$auth->acl_get('u_view_topics'))
{
if($user->data['user_id'] != ANONYMOUS)
{
trigger_error('NOT_AUTHORISED');
}
else
{
login_box('');
}
}
}
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Листинг тем без чтения (права доступа)
Это не глюк, это конфликт.
Насколько мне известно, аналогов нет.
Добавлено спустя 47 секунд:
Добавлено спустя 3 минуты 20 секунд:
В моде ещё и бэкдор оказывается есть:
http://www.phpbb.com/customise/db/mod/t ... r_-t_86373
Посмотрите вот по этой ссылке, там обсуждается альтернатива (без мода, только правки кода):
http://www.phpbb.com/community/viewtopi ... &t=1206115
Насколько мне известно, аналогов нет.
Добавлено спустя 47 секунд:
Для начала неплохо бы знать, что за мод делает эти ссылки.MenX писал(а):не работает при SEF ссылках
Добавлено спустя 3 минуты 20 секунд:
В моде ещё и бэкдор оказывается есть:
http://www.phpbb.com/customise/db/mod/t ... r_-t_86373
Посмотрите вот по этой ссылке, там обсуждается альтернатива (без мода, только правки кода):
http://www.phpbb.com/community/viewtopi ... &t=1206115
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: Листинг тем без чтения (права доступа)
MenX писал(а):как из идентификатора темы получить идентификатор форума?
Код: Выделить всё
select forum_id from phpbb_topics where topic_id = XXXXПомощь в ЛС/email только за WM или ЮMoney
-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Re: Листинг тем без чтения (права доступа)
Вот об этом я и говорил! Что мод ограничивает чтение тем только при условии, что URL передает идентификатор форума, а если URL не передает id форума, а передает только id темы то правило не работает.Shredder писал(а):В моде ещё и бэкдор оказывается есть
Может есть у кого-нибудь соображение, как можно подправить мод?
Добавлено спустя 4 минуты 16 секунд:
Вот здесь у нас идет проверка.
Код: Выделить всё
if($auth->acl_get('f_view_topics', $forum_id))Код: Выделить всё
if($auth->acl_get('f_view_topics', get_forum_id ($topic_id)))-
HAMMER663
- Former team member
- Сообщения: 2032
- Стаж: 16 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 77 раз
- Поблагодарили: 249 раз
Re: Листинг тем без чтения (права доступа)
тебе же написали какMenX писал(а):можно стандартными функциями phpBB получить id форума из id топика?
Код: Выделить всё
select forum_id from phpbb_topics where topic_id = XXXXMenX вообще попробуй так
Код: Выделить всё
if (!$auth->acl_get('f_read', $forum_id))Код: Выделить всё
if (!$auth->acl_get('f_read', $forum_id) || $user->data['user_id'] == ANONYMOUS)хотя нет, если право добавлено, то лучше так
Код: Выделить всё
if (!$auth->acl_get('f_read', $forum_id) || $auth->acl_get('f_view_topics', $forum_id))-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Re: Листинг тем без чтения (права доступа)
Ну зачем мне выполнять лишние sql запросы если такая функция наверняка существует и уже описана в коде phpBB?HAMMER663 писал(а):тебе же написали какКод: Выделить всё
select forum_id from phpbb_topics where topic_id = XXXX
Так вообще всех без разбора пускает.HAMMER663 писал(а):хотя нет, если право добавлено, то лучше такКод: Выделить всё
if (!$auth->acl_get('f_view_topics', 'f_read', $forum_id))
-
HAMMER663
- Former team member
- Сообщения: 2032
- Стаж: 16 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 77 раз
- Поблагодарили: 249 раз
Re: Листинг тем без чтения (права доступа)
MenX я поправил, вот так надо
Код: Выделить всё
if (!$auth->acl_get('f_read', $forum_id) || $auth->acl_get('f_view_topics', $forum_id))-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Re: Листинг тем без чтения (права доступа)
HAMMER663, так условие выполняется, но выполняется для всех форумов без разбора. А мне требуется ограничить доступ выборочно.
Добавлено спустя 1 минуту 10 секунд:
P.S. я имею в виду ситуацию когда не передается id форума.
Добавлено спустя 1 минуту 10 секунд:
P.S. я имею в виду ситуацию когда не передается id форума.
-
HAMMER663
- Former team member
- Сообщения: 2032
- Стаж: 16 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 77 раз
- Поблагодарили: 249 раз
Re: Листинг тем без чтения (права доступа)
MenX установив вот этот мод http://www.phpbb.com/customise/db/mod/t ... striction/
Ты добавляешь право дополнительное в админку "Может смотреть сообщения".
Вот теперь мы смотрим. Ага. есть у нам право
Всё. теперь мы в админке настраиваем в каких форумах можно смотреть, а в каких нельзя
Добавлено спустя 41 секунду:
Ты добавляешь право дополнительное в админку "Может смотреть сообщения".
Вот теперь мы смотрим. Ага. есть у нам право
'f_view_topics', и говорим:
Код: Выделить всё
if ($auth->acl_get('f_view_topics', $forum_id))
{
if ($user->data['user_id'] != ANONYMOUS)
{
trigger_error('SORRY_AUTH_READ');
}
login_box('', $user->lang['LOGIN_VIEWFORUM']);
}Добавлено спустя 41 секунду:
В моей правке все обрабатывается корректноMenX писал(а):я имею в виду ситуацию когда не передается id форума
-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Re: Листинг тем без чтения (права доступа)
Ну естественно я это все проделал.HAMMER663 писал(а): Всё. теперь мы в админке настраиваем в каких форумах можно смотреть, а в каких нельзя
Кроме того, в вашей правке обнаружился еще один глюк, для зарегистрированных пользователей стало недоступно чтение некоторых тем.HAMMER663 писал(а):В моей правке все обрабатывается корректно
-
HAMMER663
- Former team member
- Сообщения: 2032
- Стаж: 16 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 77 раз
- Поблагодарили: 249 раз
Re: Листинг тем без чтения (права доступа)
MenX каких? трассировка прав покажет правильно ли вы им все настроили. у меня данная правка работает нормально
-
MenX
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 4 раза
Re: Листинг тем без чтения (права доступа)
HAMMER663 Для зарегистрированных пользователей недоступно чтение тем в которых появились новые сообщения с момента их последнего посещения.

