Многие тут на форуме просили сделать умные непрочитанные
добавляем пару кнопок в низ темы
файл /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&do=pick&pick=' . $id . '">' . _t('Pick subscribe') . '</a>' : _t('Pick subscribe'))
. ' | '
. (!$subscribe->isBan($id) ? '<a href="index.php?act=subscribe&do=ban&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
Кто поставил сам, молодец
Скрины думаю там лишние, можно как подписаться на тему, так и забанить тему от попадания в свои непрочитанные
не используется таблица непрочитанных, все работает по спискам тем подписок и тем банов, плюс временная метка