Вы не зашли.
Хотел узнать возможно ли сделать такое на NGCMS
Хак сколько скачал пользователь с сайта в мегабайтах
Самое первое что мы сделаем это запрос SQL запрос базы данных:
ALTER TABLE `dle_users` ADD`download` varchar(10) NOT NULL DEFAULT '0';
Теперь когда мы сделали запрос переходим в engine/modules/profile.php и ищем:
$tpl->set( '{news_num}', $row['news_num'] );
Ниже вставляем:
$tpl->set( '{download}', formatsize($row['download']));
На этом с файлом profile.php мы закончили и переходим к следующему пункту
Открываем engine/download.php и находим там следующею строку:
$db->query ( "UPDATE " . PREFIX . "_static_files SET dcount=dcount+1 WHERE id ='$id'" );
Теперь ниже вставляем:
@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'" );
И сразу же ниже вставляем эту строку:
@filesize( FILE_DIR . $row['onserver'] );
$dl = $member_id['user_id'];
$db->query ( "UPDATE " . PREFIX . "_users SET download=download+'$size' WHERE user_id ='$dl'" );
И теперь в шаблоне userinfo.tpl в любое для вас удобное место вставляем:
Скачано с сервера: {download}
Изменено magliona (2012-05-05 11:04:42)
Не в сети
Не в сети
magliona, проблема в том, что NGCMS отдаёт файлы напрямую (точнее - это делает WEB сервер), не "пропуская" их через какой-либо внешний обработчик (как это делает DLE).
Хотя лично я не считаю это проблемой - использование подобных скриптов может существенно увеличить нагрузку на WEB сервер.
p.s. Хотя в связке с NGINX такой функционал можно сделать практически не нагружая при этом PHP,... а заодно можно даже разным пользователям давать разную скорость на скачивание контента
Не в сети