«U.Efficiency» 2.0 – модуль расчета коэффициента активности пользователя для DLE
Здравствуйте, дорогие друзья! Последнее время публикация материалов на нашем сайте резко снизилась. Этому виной и личные дела, и разработка интересных решений для нашей аудитории.
Сегодня мы презентуем долгожданное обновление нашего модуля «U.Efficiency» для DataLife Engine, с помощью которого вы можете рассчитать коэффициент активности ваших пользователей. Работа велась долгая, много было изменено, исправлено и переписано, поэтому – обо всем по порядку.
Что входит в расчет коэффициента?
Как и раньше, в расчет коэффициента активности входят: общие числа написанных комментариев пользователя, добавленных новостей и просмотренных страниц сайта за время существования пользователя на сайте. Помимо этого, в версии 2.0 включен подсчет числа оцененных комментариев и новостей, что делает расчет более точным и интересным.
Техническая информация и расчет коэффициента
За каждое совершенное действие пользователь получает:
0.01 е. а. за 1 просмотренную страницу сайта;
0.05 е. а. за 1 оцененный материал;
0.05 е. а. за 1 оцененный комментарий;
0.1 е. а. за 1 добавленный комментарий;
1 е. а. за 1 добавленный материал.
Е. а. – единица активности.

На выходе пользователю показывается его активность в процентах, где 0% – минимальная активность, 100% – максимальная. Поскольку коэффициент напрямую зависит от времени, то с его течением, при отсутствии какой-либо деятельности со стороны пользователя, коэффициент снижается.
В предыдущей версии существовало всего 4 наименования коэффициента. Это: «нулевой», «низкий», «средний», «высокий». В этой же версии добавлено еще одно наименование – «максимальный», которое присваивается пользователю в том случае, если его процент активности равняется 100.
Обратите внимание! Мы с вами знаем, что гости тоже могут оставлять комментарии и оценивать материалы вашего сайта, но для них коэффициент активности не рассчитывается.
Где можно вывести коэффициент активности пользователя?
Мы всегда прислушиваемся к мнению и желаниям наших читателей, поэтому внесли в модуль возможность вывести коэффициент активности в ряде мест. Теперь коэффициент активности можно вывести:
- На персональной странице пользователя;
- В полной странице материала (у автора материала соответственно);
- В карточке профиля пользователя;
- В комментариях.
Установка модуля
0. Если вы уже используете первую версию модуля – удалите его полностью, кроме подсчета просмотренных страниц. Это необходимо потому, что модуль теперь работает по другому принципу. Если же вы ранее его не устанавливали – перейдите к следующему пункту.
1. Зайдите в phpMyAdmin и выполните SQL-запрос (о том, как это сделать, читайте в этой статье):
CREATE TABLE `dle_efficiency` ( `user_id` INT(11) NULL DEFAULT '0' , `views_page` INT(11) NOT NULL DEFAULT '0', UNIQUE (`user_id`) ) ENGINE = MyISAM;
Если ранее модуль был установлен – пропустите этот шаг.
2. Скачайте архив в конце статьи. Разархивируйте его и содержимое загрузите на ваш сайт по FTP в папку /engine/.
3. Далее, в шаблоне вашего сайта, перед закрывающим тегом </body> вставьте:
{include file="/engine/modules/u_efficiency/numb_views_page.php"}
<link rel="stylesheet" type="text/css" href="/engine/skins/u_efficiency/style.css" />
4. На этом установка модуля закончена. Далее мы настроим вывод коэффициента в нужных местах.
Вывод коэффициента активности на персональной странице пользователя
1. Откройте файл profile.php в папке /engine/modules/.
2. Найдите строку, содержащую:
$tpl->set( '{registration}', langdate( "j F Y H:i", $row['reg_date'] ) );
и после нее вставьте:
$tpl->set("{reg_date}", langdate("j.m.Y", $row["reg_date"]));
Сохраните изменения и отправьте файл обратно на сайт.
3. Откройте файл userinfo.tpl в папке /templates/название_темы и в нужное место вставьте:
<div><span>Коэффициент активности:</span> {include file="/engine/modules/u_efficiency/u_efficiency.php?&userName={usertitle}&all_plus_comments={comm-num}&all_plus_news={news-num}®_date={reg_date}"}</div>
4. На этом настройка вывода коэффициента на персональной странице закончена.
Вывод коэффициента активности в карточке профиля пользователя
1. Откройте файл profile.php в папке /engine/ajax/.
2. Найдите строку, содержащую:
$tpl->set( '{registration}', langdate( "j F Y H:i", $row['reg_date'] ) );
и после нее вставьте:
$tpl->set("{reg_date}", langdate("j.m.Y", $row["reg_date"]));
$tpl->set("{usertitle}", stripslashes($row["name"]));
Сохраните изменения и отправьте файл обратно на сайт.
3. Откройте файл profile_popup.tpl в папке /templates/название_темы и в нужное место вставьте:
<div><span>Коэффициент активности:</span> {include file="/engine/modules/u_efficiency/u_efficiency.php?&userName={usertitle}&all_plus_comments={comm-num}&all_plus_news={news-num}®_date={reg_date}"}</div>
4. На этом настройка вывода коэффициента в карточке профиля пользователя закончена.
Вывод коэффициента активности в полной версии материала и в комментариях к нему
1.1 Для того чтобы вывести коэффициент активности у автора материала, откройте файл fullstory.tpl в папке /templates/название_темы и в нужное место вставьте:
<div><span>Коэффициент активности:</span> {include file="/engine/modules/u_efficiency/u_efficiency.php?&userName={login}"} </div>
2.1 Для того чтобы вывести коэффициент активности у автора комментария, откройте файл comments.tpl в папке /templates/название_темы и в нужное место вставьте:
<div><span>Коэффициент активности:</span> {include file="/engine/modules/u_efficiency/u_efficiency.php?&userName={login}"}</div>
3. На этом настройка вывода коэффициента в полной версии материала и комментариев к нему закончена.
Модуль тестировался на DLE версии 10.6–11.3. Если в ходе установки и использования модуля возникли вопросы – пишите об этом в комментариях.