• 094 Topic Restriction - запрет просмотра тем в форумах • 
Хороший интересный мод но малость глючный
При создании темы о модах для двигателя форумов phpBB ветки 3.0.Х название темы должно начинаться с названия мода на английском, без указания версии, затем тире, затем короткое название мода на русском с маленькой буквы. Создание тем не о модах в данном подфоруме запрещено. Посторонние темы о двиге и посторонних проблемах для ветки 3.0.Х в соседнем подфоруме. И помните - Вам тут никто ничего не должен. При малейшем "приказном" тоне в сообщениях - бан на вечно.

    094 Topic Restriction - запрет просмотра тем в форумах

Сообщение Разместил Pthelovod 31 янв 2016, 08:13

Мод ЗАПРЕТ ПРОСМОТРА ТЕМ в форумах Topic Restriction v1.0.0--
Хороший интересный мод, на часто глючный. Видеть список тем, но не иметь возможности их читать можно сделать и с использованием обычных прав. Переделать не долго. А использовать для этого целый мод - морочно и сложно.
От автора -
Modification description: Add's 2 new permissions to phpbb.
1. user permission to restrict certain groups from accessing forums but can view topic titles.
2. forum permission to select which forums should have the above restriction.

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  094 Topic Restriction - запрет просмотра тем в форумах

Сообщение Разместил Pthelovod 15 май 2016, 06:14

Подводим итог дружбы сабжа и SEO Ultimate SEO URL
При установке СЕО право на запрет простора содержимого тем не срабатывает...
Право перестает работать из-за отсутствия в ссылках на темы $forum_id, которые обрезаются СЕО.
Почитав данную тему и проверив все предложенные исправления, приходим в такому результату:
В файле viewtopic.php вместо
Код: выделить все
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('');
       }
    }
}

по инструкции к моду добавляем
Код: выделить все
   if ($topic_id > 0)
   {
      $sql = 'SELECT forum_id
         FROM ' . TOPICS_TABLE . "
         WHERE topic_id = $topic_id";
      $result = $db->sql_query($sql);
      $forum_id = (int) $db->sql_fetchfield('forum_id');
      $db->sql_freeresult($result);
   }
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('');
       }
    }
}

Затем в нем же находим
Код: выделить все
if (!$auth->acl_get('f_read', $forum_id))

и заменяем на
Код: выделить все
if (!$auth->acl_get('f_read', $forum_id) || $auth->acl_get('f_view_topics', $forum_id))

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Код: выделить все
Заодно в файле [icode]language/ru/acp/permissions_phpbb.php[/icode] вместо перевода по инструкции вставляем
   'acl_u_view_topics'       => array('lang'     => '<b style="color: #FF0000;">Может игнорировать запрет прочтения тем</b>', 'cat'      => 'post'),

и
Код: выделить все
   'acl_f_view_topics'       => array('lang'         => '<b style="color: #FF0000;">Запретить читать содержимое тем в этом форуме</b>', 'cat' => 'post'),

Важно!!! Не забывайте, что индивидуальное разрешение на просмотр содержимого тем, при раздаче прав на подфорумы, срабатывает только при выставлении условия Запретить читать содержимое тем в этом форуме в НИКОГДА. При выставлении просто в НЕТ права группы пересиливают...

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

  094 Topic Restriction - запрет просмотра тем в форумах

Сообщение Разместил Pthelovod 15 май 2016, 06:15

В поиске выводит сообщения, скрытые модом. Fix:
Fix_Topic_Restriction_for_search.zip
(25.85 КБ) Скачиваний: 67

Pthelovod
Александр (можно Николаич)
Александр (можно Николаич) 

Вернуться в Коды и модификации для движка phpBB версий до 3.0.Х