Представляем хак для DLE Вывод данных количество скаченного в профиле или подсчет скачанного пользователем в его профиле для DLE 9.x-11.1 и выше версии. Вывод информации о количестве скаченного в профиле делается с помощью добавления кода скрипта, который парсит данные с вашего сервера. Хак DLE "Вывод данных количество скаченного в профиле" - позволяет без нагрузки на сервер подсчитывать сколько мегабайтов было скачено пользователем с сайта, количество скачанного можно увидеть в профиле и в форме комментариев каждого пользователя
Установка хака подсчет скачанного пользователем в его профиле для DLE 9.x-DLE 11.2:
1) Делаем SQL запрос, если не знаете как или первый раз с таким сталкиваетесь, то можно прочитать об этом здесь:
ALTER TABLE `dle_users` ADD`download` varchar(10) NOT NULL DEFAULT '0';
2) Открываем engine/modules/profile.php
Находим:
$tpl->set( '{news-num}', $row['news_num'] );
Ниже вставляем:
$tpl->set( '{download}', formatsize($row['download']));
3) Открываем engine/download.php
Находим:
$db->query ( "UPDATE " . PREFIX . "_static_files SET dcount=dcount+1 WHERE id ='$id'" );
Ниже вставляем:
$size = @filesize( FILE_DIR . $row['onserver'] );
$dl = $member_id['user_id'];
$db->query ( "UPDATE " . PREFIX . "_users SET download=download+'$size' WHERE user_id ='$dl'" );
Находим:
$db->query ( "UPDATE " . PREFIX . "_files SET dcount=dcount+1 WHERE id ='$id'" );
Ниже вставляем:
$size = @filesize( FILE_DIR . $row['onserver'] );
$dl = $member_id['user_id'];
$db->query ( "UPDATE " . PREFIX . "_users SET download=download+'$size' WHERE user_id ='$dl'" );
4) В шаблоне userinfo.tpl в нужном месте вставить:
Скачано с сервера: {download}
Если кому нужно вставить вывод в комментариях то делаем следующее.
Открываем engine/classes/comments.class.php
Находим:
$tpl->set( '{comm-num}', intval( $row['comm_num'] ) );
Ниже добавляем:
$tpl->set( '{download}', formatsize($row['download']));
Теперь в шаблоне comments.tpl в нужном месте вписываем:
Скачано с сервера: {download}
Что бы в профиле постоянно не висело пустое значение "Скачал", делаем так:
Пропускаем шаг №2 в инструкции выше.
Ищем в engine/modules/profile.php (примерно 522 строка)
$tpl->set( '[/not-news-num]', "" );
}
Ниже вставляем:
if( $row['download'] ) {
$tpl->set( '[download]', "" );
$tpl->set( '[/download]', "" );
$tpl->set( '{download}', formatsize( $row['download'] ) );
$tpl->set_block( "'\\[not-download\\](.*?)\\[/not-download\\]'si", "" );
} else {
$tpl->set_block( "'\\[download\\](.*?)\\[/download\\]'si", "" );
$tpl->set( '{download}', "" );
$tpl->set( '[not-download]', "" );
$tpl->set( '[/not-download]', "" );
}
Теперь в профиле пользователя всё это дело можно выводить так:
[download]Скачал - {download}[/download]
[not-download]Бездельничает[/not-download]
Скачать хаки для dle, как интересный хак DLE Вывод данных о количестве скаченного в профиле