27 янв 2013
Подсчет скачанного пользователем в его профиле
levon262 Категория: DATALIFE ENGINE » Модули
У нас вы можете скачать бесплатно Подсчет скачанного пользователем в его профиле

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Подсчет скачанного пользователем в его профиле

Хак позволяет подсчитать сколько мегабайт скачал пользователь с сайта,
количество скачанного выводится в профиле каждого пользователя.


Установка:
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]









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.