JohnCMS mod by Simba

37.17K
.
Добавлено: 25.04.2019 / 09:49
ДоХтор, смайлы обновил, но количество файлов в библиотеке не изменилось..

Добавлено: 25.04.2019 / 10:02
<div class="col-md-3 col-sm-6">
                    <h4><?= $lng['useful'] ?></h4>
                    <div>
                        <ul class="arrow">
                            <li><a href="/library/"><?= $lng['library'] ?></a> (<?= counters::library() ?>)</li>
                        </ul>
                    </div>
                </div>


Не могу понять откуда он берет значения?
.
ДоХтор
Добавлено: 25.04.2019 / 10:06
# VERDAN (25.04.2019 / 10:02)
смайлы обновил, но количество файлов в библиотеке не изменилось..
Обновление смайлов нужно было не для количества файлов в библиотеке, а для исправления ошибки из предыдущего твоего сообщения. Ошибка исчезла?

Добавлено: 25.04.2019 / 10:08
Не могу понять откуда он берет значения?
Ищи класс counters, а внутри этого класса ищи метод library() - в этом методе и смотри.
.

ДоХтор, да, первая ошибка исправлена, спасибо!

.

ДоХтор, нашел! А в админке нет кнопки обновить файл?

files/cache/count_users.dat
Или можно в ручную исправить?
.

ДоХтор, код с

counters (+/-)
static function library()
    {
        $file = ROOTPATH . 'files/cache/count_library.dat';
        if (file_exists($file) && filemtime($file) > (time() - 3200)) {
            $res = unserialize(file_get_contents($file));
            $total = $res['total'];
            $new = $res['new'];
            $mod = $res['mod'];
        } else {
            $total = DB::getInstance()->getCount(DB::getInstance()->query("SELECT COUNT(*) FROM `library_texts` WHERE `premod` = '1'"), 0);
            $new = DB::getInstance()->getCount(DB::getInstance()->query("SELECT COUNT(*) FROM `library_texts` WHERE `time` > '" . (time() - 259200) . "' AND `premod` = '1'"), 0);
            $mod = DB::getInstance()->getCount(DB::getInstance()->query("SELECT COUNT(*) FROM `library_texts` WHERE `premod` = '0'"), 0);
            file_put_contents($file, serialize(array('total' => $total, 'new' => $new, 'mod' => $mod)));
        }
        if ($new) $total .= '&#160;/&#160;<span class="red"><a href="' . core::$system_set['homeurl'] . '/library/index.php?act=new">+' . $new . '</a></span>';
        if ((core::$user_rights == 5 || core::$user_rights >= 6) && $mod) {
            $total .= '&#160;/&#160;<span class="red"><a href="' . core::$system_set['homeurl'] . '/library/index.php?act=premod">M:' . $mod . '</a></span>';
        }
        return $total;
    }
.
# VERDAN (25.04.2019 / 10:15)
ДоХтор, нашел! А в админке нет кнопки обновить файл? Или можно в ручную исправить?
Честно говоря, я не знаю на счёт кнопки. А на счёт второго вопроса - что нужно исправить?
.
VERDAN

ДоХтор, в принципе я уже исправил, количество файлов в библиотеке на (главной странице) указывалось 44, а реально загружено было 27. Не пойму как так вышло..

код файла которые генерирует кол-во файлов и выдает (+/-)
static function library()
        {
            $file = ROOTPATH . 'files/cache/count_library.dat';
            if (file_exists($file) && filemtime($file) > (time() - 3200)) {
                $res = unserialize(file_get_contents($file));
                $total = $res['total'];
                $new = $res['new'];
                $mod = $res['mod'];
            } else {
                $total = DB::getInstance()->getCount(DB::getInstance()->query("SELECT COUNT(*) FROM `library_texts` WHERE `premod` = '1'"), 0);
                $new = DB::getInstance()->getCount(DB::getInstance()->query("SELECT COUNT(*) FROM `library_texts` WHERE `time` > '" . (time() - 259200) . "' AND `premod` = '1'"), 0);
                $mod = DB::getInstance()->getCount(DB::getInstance()->query("SELECT COUNT(*) FROM `library_texts` WHERE `premod` = '0'"), 0);
                file_put_contents($file, serialize(array('total' => $total, 'new' => $new, 'mod' => $mod)));
            }
            if ($new) $total .= '&#160;/&#160;<span class="red"><a href="' . core::$system_set['homeurl'] . '/library/index.php?act=new">+' . $new . '</a></span>';
            if ((core::$user_rights == 5 || core::$user_rights >= 6) && $mod) {
                $total .= '&#160;/&#160;<span class="red"><a href="' . core::$system_set['homeurl'] . '/library/index.php?act=premod">M:' . $mod . '</a></span>';
            }
            return $total;
        }
.
# VERDAN (25.04.2019 / 10:15)
Или можно в ручную исправить?
Попробуй уменьшить время кэша для начала - в этой строке
if (file_exists($file) && filemtime($file) > (time() - 3200)) {
установи вместо 3200 время в одну минуту 60
if (file_exists($file) && filemtime($file) > (time() - 60)) {
и обнови страницу.
.

ДоХтор, изменил.

Каждое это время он проверяет кол-во книг что-ли?

.

ДоХтор, на сайте опять не правильно написано, он исправляет))

Всего: 654