Просмотр поста

.
Koenig
(\/)____o_O____(\/)
Добавлено: 04.05.2017 / 23:04
Многие тут на форуме просили сделать умные непрочитанные
добавляем пару кнопок в низ темы
файл /forum/index.php

примерно после кураторов line: 830+

// тут кнопки pick/ban темы
                $subscribe = new Johncms\Subscribe();
                echo '<p class="gmenu green">'
                    . (!$subscribe->isPick($id) ? '<a href="index.php?act=subscribe&amp;do=pick&amp;pick=' . $id . '">' . _t('Pick subscribe') . '</a>' : _t('Pick subscribe')) 
                    . ' | ' 
                    . (!$subscribe->isBan($id) ? '<a  href="index.php?act=subscribe&amp;do=ban&amp;ban=' . $id . '">' . _t('Ban subscribe') . '</a>' : _t('Ban subscribe'))
                    . '</p>';
                
                // Ссылки на модерские функции управления темой

прихватил комментарий для ориентира
далее в том же файле (index)
добавим кнопку на непрочитанное в двух местах
так же прихвачу ориентир
line: 900+
////////////////////////////////////////////////////////////
        // Список Категорий форума                                //
        ////////////////////////////////////////////////////////////
        $count = $db->query("SELECT COUNT(*) FROM `cms_forum_files`" . ($systemUser->rights >= 7 ? '' : " WHERE `del` != '1'"))->fetchColumn();
        echo '<p>' . $counters->forumNew(1) .
            ($systemUser->isValid() ? '<br><a href="?act=subscribe">' . _t('My subscribe') . '</a></p>' : '') .
            '<div class="phdr"><b>' . _t('Forum') . '</b></div>' .
            '<div class="topmenu"><a href="search.php">' . _t('Search') . '</a> | <a href="index.php?act=files">' . _t('Files') . '</a> <span class="red">(' . $count . ')</span></div>';

line: 300+
// Выводим верхнюю панель навигации
        echo '<a id="up"></a><p>' . $counters->forumNew(1) .
            ($systemUser->isValid() ? '<br><a href="?act=subscribe">' . _t('My subscribe') . '</a></p>' : '') .
            '<div class="phdr">' . implode(' / ', $tree) . '</div>' .
            '<div class="topmenu"><a href="search.php?id=' . $id . '">' . _t('Search') . '</a>' . ($filelink ? ' | ' . $filelink : '') . ($wholink ? ' | ' . $wholink : '') . '</div>';

так же не забываем добавить элемент массива для action
элемент subscribe
// Переключаем режимы работы
$mods = [
    'addfile',
    'addvote',
    'close',
    'deltema',
    'delvote',
    'editpost',
    'editvote',
    'file',
    'files',
    'filter',
    'loadtem',
    'massdel',
    'new',
    'nt',
    'per',
    'post',
    'ren',
    'restore',
    'say',
    'tema',
    'users',
    'vip',
    'vote',
    'who',
    'curators',
    'subscribe', // вот это нужно добавить
];

далее с архива закинуть класс Subscribe.php -> /system/johncms/Subscribe.php
и в папку subscribe.php -> /forum/includes/subscribe.php

Добавлено: 04.05.2017 / 23:07
Кто поставил сам, молодец
Скрины думаю там лишние, можно как подписаться на тему, так и забанить тему от попадания в свои непрочитанные
не используется таблица непрочитанных, все работает по спискам тем подписок и тем банов, плюс временная метка
Прикрепленные файлы: