Популярный материал за день [DLE 9.x — 10.1]

Популярный материал за день [DLE 9.x — 10.1]

Представляю вашему вниманию Хак Самый просматриваемый материал за текущий день, который позволяет тегом custom выводить самый просматриваемый материал за текущий день.
сначала сортируется по наибольшему количеству дневного просмотра, потом по общему количеству (если количества дневных просмотров равны).
Шаблон:

{title} - ({views} + <b>{day_read}</b>)<br/>

{title} — просто заголовок
{views} — общее количество просмотров, стандартно
{day_read} — количество просмотров за текущий день
Установка:
1) Выполнить запрос в БД:

ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';

2) Открыть файл engine/modules/functions.php
Найти строку:

 if ($match[1] == "title" ) $news_msort = "ASC";

После нее вставить:

        if ($match[1] == "day_read" ){
            $sql_select = str_replace("e.news_read, ","e.news_read, e.day_read, ",$sql_select);
            $news_sort = $match[1]." DESC, news_read";
        }

3) Открыть файл engine/modules/show.full.php
Найти код (2шт):

news_read=news_read+1

Заменить на:

news_read=news_read+1, day_read=day_read+1

4) Открыть файл engine/modules/cron.php
Найти строку:

if( $cron == 2 ) {

После нее вставить:

$db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );

Это будет сбрасывать ежедневный счетчик.
Этот пункт выполнять только если нужна возможность вывода тега {day_read}
1) Открыть файл engine/modules/show.custom.php
Найти код:

'{views}' => $row['news_read'],

Заменить на

'{views}' => $row['news_read'], '{day_read}' => $row['day_read'],

2) В шаблоне сайта main.tpl выводить, например так:
{custom order=»day_read» limit=»10″}