phpBB3 — Вложения только для определённых групп

 

Захотелось сделаь чтобы на форуме смогли скачивать только зарегистрированные пользователи.
в файле viewtopic.php находим


//
        $postrow = array(
Добавляем перед этими строками:
$attach_view_permission = 0;
        $sql2 = 'SELECT a.group_id
                FROM ' . GROUPS_TABLE . ' AS u
                INNER JOIN ' . USER_GROUP_TABLE . ' AS a ON u.group_id = a.group_id
                WHERE a.user_id = ' . $user->data['user_id'] . '
                ORDER BY u.group_id';
        $result2 = $db->sql_query($sql2);
        while ($row2 = $db->sql_fetchrow($result2))
        {
                if (($row2['group_id'] == 15674) || ($row2['group_id'] == 15675))
                {
                        $attach_view_permission = 1;
                }
        }
        $db->sql_freeresult($result2);
        if ($poster_id == $user->data['user_id'])
        {
                $attach_view_permission = 1;
        }

В строке

if (($row2['group_id'] == 15674) || ($row2['group_id'] == 15675))

15674 и 15675 — ид групп которым будет разрешен доступ к файлам
Далее находим строку:

'S_HAS_ATTACHMENTS'     => (!empty($attachments[$row['post_id']])) ? true : false,

После неё добавляем:

'S_VIEW_ATTACHMENTS'    => ($attach_view_permission) ? true : false,

В файле styles/subsilver2/template/viewtopic_body.html находим строки:

<!-- IF postrow.S_HAS_ATTACHMENTS -->
                                                <br clear="all" /><br />
                                                <table class="tablebg" width="100%" cellspacing="1">
                                                <tr>
                                                        <td class="row3"><b class="genmed">{L_ATTACHMENTS}: </b></td>
                                                </tr>
                                                <!-- BEGIN attachment -->
                                                        <tr>
                                                                <!-- IF postrow.attachment.S_ROW_COUNT is even --><td class="row2"><!-- ELSE --><td class="row1"><!-- ENDIF -->{postrow.attachment.DISPLAY_ATTACHMENT}</td>
                                                        </tr>
                                                <!-- END attachment -->
                                                </table>
                                        <!-- ENDIF -->

Весь этот участок кода надо заменить на:

<!-- IF postrow.S_HAS_ATTACHMENTS -->
                                                <br clear="all" /><br />
                                                <table class="tablebg" width="100%" cellspacing="1">
                                                <tr>
                                                        <td class="row3"><b class="genmed">{L_ATTACHMENTS}: </b></td>
                                                </tr>
                                                <!-- IF postrow.S_VIEW_ATTACHMENTS -->
                                                <!-- BEGIN attachment -->
                                                        <tr>
                                                                <!-- IF postrow.attachment.S_ROW_COUNT is even --><td class="row2"><!-- ELSE --><td class="row1"><!-- ENDIF -->{postrow.attachment.DISPLAY_ATTACHMENT}</td>
                                                        </tr>
                                                <!-- END attachment -->
                                                <!-- ELSE -->
                                                        <tr>
                                                                <td class="row1">Извините, но вы не можете просматривать вложения в этом сообщении.</td>
                                                        </tr>
                                                <!-- ENDIF -->
                                                </table>
                                        <!-- ENDIF -->
Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем