Хак министатистики

Собственно решил все-же выложить этот хак, так как много просьб было.

Хак министатистики
Собственно решил все-же выложить этот хак, так как много просьб было. Итак, что мы имеем:
- Вывод числа зарегистрированных посетителей и изменение за сутки
- Количество новостей и изменение
- Количество файлов для Архива и Обменника
- Количество активных посетителей
- Текущее время (Сверяется со временем сервера)
- Возможно внедрение дополнительных хаков

-- Поддержка и консультация
-- Подобный хак стоит 15 WMZ, но для mastermind.pp.ua/datalife-engine как всегда бесплатно. В то же время буду очень
благодарен за любую материальную помощь. Реквизиты внизу страницы.
==========
Итак приступим:

Для начала качаем файл:
ministat.zip [2,04 Kb] (cкачиваний: 528)
ministat.php

Кладем его в engine/modules

1. Открываем в корне index.php и ищем:

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


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


/////////////////////////////////////////////////////////
//////////////////ХАК ОТ DIOXIS//////////////////////////
/////////////////////////////////////////////////////////

$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( '{uploads_num}', $uploads_num );
$tpl->set( '{uploads_day}', $uploads_day );

$tpl->set( '{online_num}', $online_num );



//////////////////ХАК ОТ DIOXIS END//////////////////////



2. открываем templates//datalife-engine/templates/my/main.tpl и вставляем в любом удобном месте:



<!-- Часы и министатистика от Dioxis -->

<td align="right" valign="bottom" style="color: gray;padding-right: 10px;">
<table><td>
Нас уже: [b]{user_num} (+{user_day})[/b]

Новостей на сайте: [b]{news_num} (+{news_day})[/b]

Файлов в Архиве: [b]{files_num} (+{files_day})[/b]

Файлов в Обменнике: [b]{uploads_num} (+{uploads_day})[/b]


Активно: [b]{online_num}[/b]

Текущее время (МСК): <font color="color" ="">[b]{date}[/b]</font>
  
</td></table>
</td>


<!-- Часы и министатистика от Dioxis-->



=======================================================

Все, установка закончена.
--
Демо сайт/сайт поддержки: http://symbiware.org
Реквизиты:
WMU: U348718141742
WMR: R131160182108
WMZ: Z301964866638
Другие новости по теме:

Категория: Хаки ----- Просмотров: 4368 ----- Комментариев: 31

Вернуться

  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
спс, сейчас протестим
  • Kursor

  • 23 марта 2009 20:45
  • Группа: User
  • ICQ: 6254377
  • Регистрация: 22.10.2008
  • Комментариев: 73
  • Публикаций: 13
^
no 9 запросов....без кэширования бд разорвет

могу на symbiware.org показать.тыщ 5 трафа спущу и бд труп.если хочешь проверить отпиши тут

"файлов в архиве" и "обменнике" без модов или наличия таблиц в БД будут вызывать ерроры.

--------------------
  • Dioxis

  • 23 марта 2009 21:03
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
На счет кэширования - делаю, будет обновление. Кстати, многим нет нужды в в архиве или обменнике, по этому вырезайте

Кстати, забыл добавить: В index.php после:
require_once ROOT_DIR . '/engine/init.php';


Вставить

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


З.Ы. Почему нет редактирование новомти автором?(
Через час выложу с кэшированием
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
болышое спасиво! за модули
  • Dioxis

  • 23 марта 2009 22:04
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Итак пробуем кэширование:
Заменяем Весь текст в ministat.php

Обновлено в 23:15


<?php
/*
=====================================================
Министатистика в шапке от Dioxis v.1.1 (с Кэшированием)
-----------------------------------------------------
http://symbiware.org/
=====================================================
Файл: ministat.php
-----------------------------------------------------
Назначение: Главная страница
=====================================================
*/

///////////////Количество юзверей///////////////

$stats_users = dle_cache("stats_users");
if (!$stats_users) {
$time = time() - 3500;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users" );
$stats_users = $row['count'];

create_cache("stats_users", $stats_users);
}

$user_day = dle_cache("user_day");
if (!$user_day) {
$time = time() - 3500;

$temp_date = $_TIME - (3600 * 24);
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users WHERE reg_date > '$temp_date'" );
$user_day = $row['count'];

create_cache("user_day", $user_day);
}

///////////////Количество статей///////////////

$stats_news = dle_cache("stats_news");
if (!$stats_news) {
$time = time() - 3500;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post" );
$stats_news = $row['count'];

create_cache("stats_news", $stats_news);
}

$stats_day = dle_cache("stats_day");
if (!$stats_day) {
$time = time() - 3500;

$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);
}

///////////////Количество файлов///////////////

$files_num = dle_cache("files_num");
if (!$files_num) {
$time = time() - 3500;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_downloads" );
$files_num = $row['count'];

create_cache("files_num", $files_num);
}

$files_day = dle_cache("files_day");
if (!$files_day) {
$time = time() - 3500;

$temp_date = date( 'Y-m-d H:i', $_TIME - (3596 * 24) );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_downloads WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR AND approve ='1'" );
$files_day = $row['count'];

create_cache("files_day", $files_day);
}

///////////////Количество файлов в обменнике///////////////

$uploads_num = dle_cache("uploads_num");
if (!$uploads_num) {
$time = time() - 3500;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_uploads" );
$uploads_num = $row['count'];

create_cache("uploads_num", $uploads_num);
}

$uploads_day = dle_cache("uploads_day");
if (!$uploads_day) {
$time = time() - 3500;

$temp_date = date( 'Y-m-d H:i', $_TIME - (3596 * 24) );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_uploads WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR AND approve ='1'" );
$uploads_day = $row['count'];

create_cache("uploads_day", $uploads_day);
}

///////////////Количество активных юзверей///////////////

$online_num = dle_cache("online");
if (!$online_num) {
$time = time() - 3500;

$result_online = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_users WHERE lastdate > $time ORDER BY lastdate DESC");

$online_num = $result_online['count'];

create_cache("online", $online_num);
}

?>
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Цитата: Dioxis
Итак пробуем кэширование:
Вставляем текст ниже в ministat.php

так заменить или нижевставить по конкретней =))
  • Dioxis

  • 23 марта 2009 23:21
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Заменить конечно)) Смотри теперь, обновлено
  • Boroda

  • 24 марта 2009 07:02
  • Группа: User
  • ICQ: 899978
  • Регистрация: 16.10.2008
  • Комментариев: 230
  • Публикаций: 113
^
Гы

MySQL Error!
------------------------

The Error returned was:
Table 'u172560_2.dle_downloads' doesn't exist

Error Number:
1146

--------------------
  • Dioxis

  • 24 марта 2009 09:16
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Я же написал, что у кого нету Обменника и Архива удаляем кусок. Кстати лучше качайте по этой ссылке:
http://symbiware.org/FTP/ministat.zip

Там немного еще доработан, и описание поправл, а то здесь парсер кушает. Админы просьба добавить этот файл и коммент Н4 в описание
  • 123456

  • 24 марта 2009 19:33
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Пасибо учитель!
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
работает! спасибо, оставил только

Нас уже:

Новостей на сайте

Текущее время:
  • Dioxis

  • 25 марта 2009 22:18
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
M1croSoft - пожалуйста
  • XuT

  • 26 марта 2009 06:24
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Количество комментариев допишите пжста
  • Dioxis

  • 26 марта 2009 11:20
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
XuT лови:

в ministat.php вставь:

///////////////Количество комменов///////////////

if (!$count_comments) {
$time = time() - $cached;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_comments" );
$count_comments = $row['count'];

create_cache("count_comments", $count_comments);
}

if (!$comments_day) {
$time = time() - $cached;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_comments WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR" );
$comments_day = $row['count'];

create_cache("comments_day", $comments_day);
}


В index.php допиши:

$tpl->set( '{comm_day}', $comments_day );
$tpl->set( '{comm_num}', $count_comments );


В main вставь:

Количество комментариев: {comm_num} (+{comm_day})




Kursor - твое предложение по проверке еще в силе?
  • 123456

  • 26 марта 2009 16:37
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Цитата: Dioxis
XuT лови:

в ministat.php вставь:

///////////////Количество комменов///////////////

if (!$count_comments) {
$time = time() - $cached;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_comments" );
$count_comments = $row['count'];

create_cache("count_comments", $count_comments);
}

if (!$comments_day) {
$time = time() - $cached;

$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_comments WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR" );
$comments_day = $row['count'];

create_cache("comments_day", $comments_day);
}


В index.php допиши:

$tpl->set( '{comm_day}', $comments_day );
$tpl->set( '{comm_num}', $count_comments );


В main вставь:

Количество комментариев: {comm_num} (+{comm_day})




Kursor - твое предложение по проверке еще в силе?

УЧИТЕЛЬ ПАСИБО!!
  • Группа: Гости
  • ICQ: 767792
  • Регистрация: 14.02.2008
  • Комментариев: 414
  • Публикаций: 19
^
MaRZOCHi,
оО, ты говориш по русски?!
you speak in russian.. oO
  • Dioxis

  • 28 марта 2009 13:29
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
-=ZLoY=-,
Еще и как))
  • HiTrAy

  • 8 апреля 2009 16:56
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
дак что делать если ошибка как в 8ом коменте?
  • TaBBaT

  • 10 сентября 2009 16:17
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
У меня на 8.2 не работает, всяко перепробывал, не фурычит sad
  • Группа: User
  • ICQ: --
  • Регистрация: 31.12.2009
  • Комментариев: 4
  • Публикаций: 0
^
MySQL Error!
------------------------

The Error returned was:
Table 'admin.dle_downloads' doesn't exist

Error Number:
1146
SELECT COUNT(*) as count FROM dle_downloads

Нихрена невыходит. Кто подскажет в чём проблема? У меня 8.3 версия.

Кстати, убираю всё в index.php и всё нормально фурычит, значит проблема там.
  • bts

  • 17 февраля 2010 13:36
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Мод фигня не работает
  • SKDzR

  • 17 февраля 2010 13:44
  • Группа: User
  • ICQ: 819585
  • Регистрация: 1.08.2008
  • Комментариев: 102
  • Публикаций: 11
^
Цитата: bts
Мод фигня не работает

а может это просто руки не тем концом вставлены?

--------------------
  • tunar

  • 6 марта 2010 09:32
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
MySQL Error!
------------------------

The Error returned was:
Table 'admin.dle_downloads' doesn't exist

Error Number:
1146
SELECT COUNT(*) as count FROM dle_downloads

Вот такая ошибка на dle 8.3 там он вроде не стыкуесть с модом DownPage for DLE но его я не хочу уюирать, как это можно обойти
  • demon

  • 6 марта 2010 11:04
  • Группа: User
  • ICQ: --
  • Регистрация: 26.04.2008
  • Комментариев: 208
  • Публикаций: 14
^
tunar,
вообщето таблицы не хватает так и пишет что таблица admin.dle_downloads не правильна или не найдена

--------------------
  • tunar

  • 6 марта 2010 14:52
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
даже на денвере установил всё равно также пишет на dle 8.3 уже без понятия что делать

dle_downloads и патом не хватает таблицы dle_uploads как их можно под него подогонать

без этих

$tpl->set( '{files_num}', $files_num );
$tpl->set( '{files_day}', $files_day );

$tpl->set( '{uploads_num}', $uploads_num );
$tpl->set( '{uploads_day}', $uploads_day );

всё работает но мне хотелосьбы чтоб хоть чтоб файлов в архиве показывало аа для него нету таблицы как это всё можно наворотить
  • Группа: User
  • ICQ: 373624275
  • Регистрация: 13.02.2010
  • Комментариев: 71
  • Публикаций: 0
^
vinnston

Table 'admin.dle_downloads' doesn't exist

таблица не создана

--------------------
  • tunar

  • 6 марта 2010 16:01
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Ну я это уже понел а какой запрос в бд сделать чтоб она создалась я уже инет перевернул не нашол
  • Группа: User
  • ICQ: 373624275
  • Регистрация: 13.02.2010
  • Комментариев: 71
  • Публикаций: 0
^
а млин выше написано
$tpl->set( '{files_num}', $files_num );
$tpl->set( '{files_day}', $files_day );

$tpl->set( '{uploads_num}', $uploads_num );
$tpl->set( '{uploads_day}', $uploads_day );

Файлов в Архиве: {files_num} (+{files_day})

Файлов в Обменнике: {uploads_num} (+{uploads_day})


удалить эти строки если у вас нет файлов в обменике и архиве

если вы хотите чтобы отображались сначала залейте файлы

--------------------
  • qwerty

  • 26 марта 2010 03:10
  • Группа: User
  • ICQ: --
  • Регистрация: 4.03.2008
  • Комментариев: 17
  • Публикаций: 1
^
у комментов всегда +0 !!! ( только когда добавляешь коммент, пишет реальное число добавленных за день, но при обновлении страницы число снова на 0 сбрасывается. DLE 8.3
  • Группа: User
  • ICQ: 557572849
  • Регистрация: 22.04.2009
  • Комментариев: 62
  • Публикаций: 14
^
удаляем код в ministat и всё работает, только без обменника