19:31 Подсчет скачанного пользователем в его профиле | |
Хак позволяет подсчитать сколько мегабайт скачал пользователь с сайта, количество скачанного выводится в профиле каждого пользователя. Установка: 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] | |
|
Всего комментариев: 0 | |