Описание:
Небольшой хак, который позволяет создать отдельный блок на сайте, отбражающий статистику сайта. Так же отображает служебную информацию, которая будет полезна тем кто отлаживает сайт.
Хак умеет отбражать следующую информацию:
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} [+{news_day}]
» Комментариев: {comm_num} [+{comm_day}]
» Пользователей: {user_num} [+{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} — выводит линк для модерации новостей
Скачать: