Актульнаый релиз „DataLife Engine 19.0 Final“ buildid 109

подробнее о релизе

Главная страница / DataLife Engine / Скрипты и другая информация / Ошибка в коде в последней версии DLE, возможно и в более ранних версиях

Ошибка в коде в последней версии DLE, возможно и в более ранних версиях

18 сентября 2025 | 01:41 | Четверг
152
1
[ Рейтинг: 5 / Голосов: 1 ]
Ошибка в коде в последней версии DLE, возможно и в более ранних версиях

Обновил сегодня один сайт, на котором стандартный префикс таблиц отличается от dle. Далее тестировал сайт под админским аккаунтом и нигде, ни в категориях в полной новости, ни на главной странице ошибок не было. Стоило только выйти из аккаунта и проверить сайт обычным гостем — сразу все категории стали выдавать ошибку, что таблица table.dle_post_extras_cats не найдена. 

Так вот. Этот код прописан engine/engine.php, строка 309 (dle 18.1). Код:

$cat_restric_join = " AND news_id NOT IN (SELECT news_id FROM dle_post_extras_cats WHERE cat_id IN ('" . implode("','", $not_allow_cats) . "'))";

Как видно, префикс dle стоит не верный. Нужно прописать так:

$cat_restric_join = " AND news_id NOT IN (SELECT news_id FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN ('" . implode("','", $not_allow_cats) . "'))";

Т.е. просто меняем dle на . PREFIX. , чтобы префикс брался из файла dbconfig.php.

PS на DLE 18.0 точно такая же ошибка! Почему никто не писал им, или все используют стандартный префикс dle…?

Комментарии:
ℹ️
 
  1. byroot AdMin 21 октября 2025 03:48
    byroot

    В релизе 19.0 так и не поправили этот косяк кода:

    $cat_restric_join = " AND news_id NOT IN (SELECT news_id FROM dle_post_extras_cats WHERE cat_id IN ('" . implode("','", $not_allow_cats) . "'))";

    Строка 317, релиз DLE 19.0 build 107.

    --------------------
    🎬🎬🎬 Мои услуги по DLE 👉👉👉 https://byroot.ru/uslugi.html 🎬🎬🎬
Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2025 | Карта сайта