Вывод количества новостей на главной [DLE 9.x — 10.x]

Вывод количества новостей на главной [DLE 9.x — 10.x]

Название: Вывод количества новостей на главной
Автор: webfull
CMS: DLE 9.x — 10.x
Описание:
*Хак будет направлен на вывод количества новостей на главной странице DLE:
1. Вывод общего количества новостей;
2. Вывод количества новостей за месяц;
2. Вывод количества новостей за неделю;
2. Вывод количества новостей за день;*
 Скриншоты
И так поехали ковырять движок DLE:
Все правки будут только касаться файла index.php
Первое выведем «общее количество новостей» на главной DLE:
Открыть index.php, найти:

$tpl->load_template ( 'main.tpl' );

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

$stats_news = dle_cache('news_count');
if(empty($stats_news)){
    $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post" );
    $stats_news = $row['count'];
    create_cache('news_count',$stats_news);
}
$tpl->set ( '{news_num}', $stats_news );

В шаблоне будет доступен такой тег:

{news_num}

Выводим новости опубликованные за месяц:

$cached = 3500;
$stats_month = dle_cache("stats_month");
if (!$stats_month) {
$time = time() - $cached;
    $temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 31) );
	$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 31 DAY AND approve ='1'" );
	$stats_month = $row['count'];
    create_cache("stats_month",$stats_month);
}
$tpl->set ( '{stats_month}', $stats_month )

В шаблоне будет доступен тег::
{stats_month}
Выводим количество опубликованных новостей за неделю:

$stats_week = dle_cache("stats_week");
if (!$stats_week) {
$time = time() - $cached;
$temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 7) );
	$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 7 DAY AND approve ='1'" );
	$stats_week = $row['count'];
	 create_cache("stats_week",$stats_week);
}
$tpl->set ( '{stats_week}', $stats_week );

Теперь в шаблоне доступен тег вывода количества новостей за сутки:

{stats_week}

И так последнее выводим количество новостей за день (сутки):

$stats_day = dle_cache("stats_day");
if (!$stats_day) {
$time = time() - $cached;
$temp_date = date( 'Y-m-d H:i', $_TIME - (3596 * 24) );
	$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR AND approve ='1'" );
	$stats_day = $row['count'];
 create_cache("stats_day",$stats_day);
}
$tpl->set ( '{stats_day}', $stats_day );

В шаблоне вставляем тег обработки новостей за сутки:

{stats_day}

Все очень просто, не создает дополнительной нагрузки. Все данные кешируються. Такими хаками вы можете разбавить свой проект от надоевшим всем сайты и шаблоны под копирку.