Статистика сайта + служебная информация [DLE 10]

Статистика сайта + служебная информация [DLE 10]

Описание:
Небольшой хак, который позволяет создать отдельный блок на сайте, отбражающий статистику сайта. Так же отображает служебную информацию, которая будет полезна тем кто отлаживает сайт.
Хак умеет отбражать следующую информацию:
1. Общее количество новостей + за 24 часа
2. Общее количество коментов + за 24 часа
3. Время работы сайта
4. Количество новостей на модерации + ссылка на неотмодерированные новости
Служебная информация:
1. Время выполнения скрипта
2. Компиляция шаблона
3. Выполнение MySQL
4. Количество запросов
Установка проста:
 Установка
1. Залить файл statexe.php из архива на сервер в engine/modules
2. Открываем в корне index.php и находим в нём:

require_once ROOT_DIR . '/engine/init.php';

после этого вставляем код:

include ROOT_DIR.'/engine/modules/statexe.php';

В этом же файле ищем:

$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );

Ниже вставляем:

$tpl->set("{date}",  date("H:i"));
$tpl->set( '{user_num}', $stats_users );
$tpl->set( '{user_day}', $user_day );
$tpl->set( '{news_num}', $stats_news );
$tpl->set( '{news_day}', $stats_day );
$tpl->set( '{files_num}', $files_num );
$tpl->set( '{files_day}', $files_day );
$tpl->set( '{comm_day}', $comments_day );
$tpl->set( '{comm_num}', $count_comments );

Далее ищем:

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

Ниже вставляем:

$tpl->set('{gener_timer}',$Timer->get() );
$tpl->set('{mysql_num}',$db->query_num );
$tpl->set('{templ_time}',round($tpl->template_parse_time, 5) );
$tpl->set('{mysql_time}',round($db->MySQL_time_taken, 5) );

там же ищем:

GzipOut ();

И меняем на:

GzipOut (1);

Ниже приведен код для вставки в main.tpl (ну или в нужное место в вашем шаблоне):


» На модерации: {kol_approve} [group=1,2]{approve_link}[/group]
» Материалов: {news_num}&nbsp[+{news_day}]
          » Комментариев: {comm_num}&nbsp[+{comm_day}]
          » Пользователей: {user_num}&nbsp[+{user_day}]
          » 
            [group=1,2]
          Служебная
          » Выполнение скрипта: {gener_timer}
          » Компиляция шаблона: {templ_time}
          » Выполнение MySQL: {mysql_time}
          » MySQL запросов:  {mysql_num}
            [/group]

Подсказка.

{gener_timer} — время выполнения скрипта;
{templ_time} — время затраченное на компиляцию шаблонов;
{mysql_num} — общее количество MySQL запросов;
{mysql_time} — время затраченное на выполнение MySQL запросов;
[group=1,2][/group] – ограничение к просмотру, то есть блок будет показан только Администраторам (1) и Модераторам (2);
{news_num} – постов на сайте;
{news_day} – постов добавлено за день;
{comm_num} – комментарии на сайте;
{comm_day} – комментариев добавлено за день;
{user_num} – зарегистрировано пользователей;
{user_day} – зарегистрировано за день;
d0 = new Date(‘October 10, 2010’) – именно тут устанавливается дата открытия сайта, которая, аля: “Мы с Вами уже: N-й день.”.

И еще немного отсебятина. Тот кто распостранял этот хак немного забыл. Если вы установите все как есть, то функция «На модерации» {kol_approve} работать не будет. Потому как функции в statexe.php для нее нету. Что бы профиксить это делаем следующее:

Создаем файл approve.php со следующим содержание:


<?php
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
$approve = dle_cache("approve", $config['skin']);
if ($user_group[$member_id['user_group']]['allow_admin']) { //$approve AND
$adminka = $config['admin_path'];
$approve_link ="<a target="_blank" href="$adminka?mod=editnews&action=list&news_status=2">модерировать</a>";
}
if (!$approve){
$row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post where approve = '0'");
$approve = $row['count'];
create_cache ("approve", $approve, $config['skin']);
}
?>

И забрасываем его в engine/modules. Далее открываем файл index.php и ищем:

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

Перед ней вставляем:

require_once ENGINE_DIR.'/modules/approve.php';

И после:

$tpl->set('{speedbar}', $tpl->result['speedbar']);

Вставляем:

$tpl->set('{approve_link}', $approve_link);
$tpl->set('{kol_approve}', $approve);

Подсказка по шаблону:
{kol_approve} — выводит непосредственно число новостей
{approve_link} — выводит линк для модерации новостей

Скачать: