ScriptLife » DataLife Engine » Хаки DLE » Счетчик добавленных новостей в определенную категорию

Счетчик добавленных новостей в определенную категорию

12 окт 2022, 20:36
Добавил: ScriptLife
7
0
Данный материал предоставлен сайтом ScriptLife.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
  • Описание
    • Версия DLE: 13.x
    • Автор: неизвестно

Счетчик добавленных новостей в определенную категорию хак дополнение для DataLife Engine.

Нам нужен файл /engine/modules/main.php Открываем его и ищем строку:

$tpl->compile ( 'main' );
Выше вставляем следующее:
$tpl->copy_template = preg_replace_callback( "#{cat_all\:(.+?)}#is", function($data) use ($db, $config) {
    return catCountFunction($data, $config, $db); }, $tpl->copy_template );
$tpl->copy_template = preg_replace_callback( "#{cat_today\:(.+?)}#is", function($data) use ($db, $config) {
    return catCountFunction($data, $config, $db, true); }, $tpl->copy_template );
Теперь нам нужен файл /engine/modules/functions.php Открываем его и ищем строку:
function get_url($id) {
Выше вставляем:
function catCountFunction($cat_id, $config, $db, $curdate = false) {     $cat_ids = array();     if(substr_count($cat_id[1], ","))         $cat_ids = explode(",", $db->safesql(trim(strip_tags(stripslashes($cat_id[1])))));     else         $cat_ids[] = is_numeric($cat_id[1]) ? intval($cat_id[1]) : false;     if(!count($cat_ids)) return;     $cache_cat_news = false;     $cache_cat_news = dle_cache("news_acn" . intval($curdate), $config['skin'] . implode($cat_ids), false);         if ($config['allow_multi_category'])         $cat_query = "category regexp '[[:<:]](" . implode ( '|', $cat_ids ) . ")[[:>:]]'";     else         $cat_query = "category IN ('" . implode ( "','", $cat_ids ) . "')";     if (!$cache_cat_news)     {         if($curdate == false)             $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$cat_query}");         else             $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$cat_query} AND date LIKE '".date("Y-m-d")."%'");         $newscount = ($row['count'] > 0) ? intval($row['count']) : false;         if($newscount)             $cache_cat_news = $newscount;         create_cache("news_acn" . intval($curdate), $cache_cat_news, $config['skin'] . implode($cat_ids), false);     }     return ($cache_cat_news > 0 ? (($curdate == true) ? "+" : "") . $cache_cat_news : ""); }
Как это использовать?
Теперь нам доступны такие теги
{cat_all:1} или {cat_all:1,2,3,4} - выведет количество новостей за все время с этих категорий.
{cat_today:1} или {cat_today:1,2,3,4} - выведет количество новостей за сегодня с этих категорий.
Ctrl
Enter
Заметили ошЫбку?
Выделите текст и нажмите Ctrl+Enter
Мы в

Комментарии

Минимальная длина комментария - 50 знаков. комментарии модерируются
  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
Комментариев еще нет. Вы можете стать первым!

Политика конфиденциальности

Сайт использует идентификационные файлы cookies для хранения информации. «Cookies» представляют собой файлы, которые могут использоваться сайтом для идентификации посетителей... Больше информации