Артём Мáлков

«U.Efficiency» 2.0 – модуль расчета коэффициента активности пользователя для DLE

9 авг13 комм

Здравствуйте, дорогие друзья! Последнее время публикация материалов на нашем сайте резко снизилась. Этому виной и личные дела, и разработка интересных решений для нашей аудитории.

Сегодня мы презентуем долгожданное обновление нашего модуля «U.Efficiency» для DataLife Engine, с помощью которого вы можете рассчитать коэффициент активности ваших пользователей. Работа велась долгая, много было изменено, исправлено и переписано, поэтому – обо всем по порядку.

Что входит в расчет коэффициента?

Как и раньше, в расчет коэффициента активности входят: общие числа написанных комментариев пользователя, добавленных новостей и просмотренных страниц сайта за время существования пользователя на сайте. Помимо этого, в версии 2.0 включен подсчет числа оцененных комментариев и новостей, что делает расчет более точным и интересным.

Техническая информация и расчет коэффициента

За каждое совершенное действие пользователь получает:

0.01 е. а. за 1 просмотренную страницу сайта;
0.05 е. а. за 1 оцененный материал;
0.05 е. а. за 1 оцененный комментарий;
0.1 е. а. за 1 добавленный комментарий;
1 е. а. за 1 добавленный материал.

Е. а. – единица активности.

«U.Efficiency» 2.0 – модуль расчета коэффициента активности пользователя для DLE

На выходе пользователю показывается его активность в процентах, где 0% – минимальная активность, 100% – максимальная. Поскольку коэффициент напрямую зависит от времени, то с его течением, при отсутствии какой-либо деятельности со стороны пользователя, коэффициент снижается.

В предыдущей версии существовало всего 4 наименования коэффициента. Это: «нулевой», «низкий», «средний», «высокий». В этой же версии добавлено еще одно наименование – «максимальный», которое присваивается пользователю в том случае, если его процент активности равняется 100.

Обратите внимание! Мы с вами знаем, что гости тоже могут оставлять комментарии и оценивать материалы вашего сайта, но для них коэффициент активности не рассчитывается.

Где можно вывести коэффициент активности пользователя?

Мы всегда прислушиваемся к мнению и желаниям наших читателей, поэтому внесли в модуль возможность вывести коэффициент активности в ряде мест. Теперь коэффициент активности можно вывести:

  1. На персональной странице пользователя;
  2. В полной странице материала (у автора материала соответственно);
  3. В карточке профиля пользователя;
  4. В комментариях.

Установка модуля

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}&reg_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}&reg_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. Если в ходе установки и использования модуля возникли вопросы – пишите об этом в комментариях.

Файл
Размер
Ссылка
u_efficiency_2.0.zip
3,7 Kb
Скачать с сервера
Рекомендуем к просмотру
Выводим статус пользователя в комментариях в DLE
Хаки
Долгожданная регистрация на сайте
Блог
«U.Efficiency» 1.0 - модуль расчета коэффициента активности пользователя для DLE
Модули и скрипты
13
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 0
    15
      •  Проверенный
    31 дек в 09:38

    Артём с наступающим Новым Годом! У меня тоже проблема что коэффициент корректно отображается только в полной новости, на всех остальных страницах показывает 0%. Можешь помощь?

      • 0
      15
        •  Проверенный
      31 дек в 12:13

      Все, я сам исправил баг. Все оказалось не так уж и сложно зная не много php

    • 0
    2
      •  Пользователь
    1 апр в 01:49

    У меня DLE 10.0

    Подскажите что нужно сделать?

    Скриншот ошибки. http://joxi.ru/52aX0X0UbWKkVm

    Понимаю, что модуль не тестировался версии ниже 10.6.

    Но кажется решить проблему - это рядом. Пожалуйста!

    • 0
    766
      •  Гости
    22 апр в 19:06

    Круто спасибо за доработку. Теперь можно сразу в комментариях и в новостях увидеть активность. А то первая версия была "жуткая" из своего профиля приходилось не вылазить )))) Так как только там вроде работала и для пользователей невозможная (.

    Хотелось узнать ответ на вышестоящий вопрос про добавление login.tpl.

    Как сделать чтобы там работало?

    Суть проблемы я понял, надо что-то менять в скрипте, так как везде пишет - "Коэффициент активности: 0% - Нулевой [?]" Кроме как в новости, там в login.tpl. правильно отображает.

    Значит скрипт привязан отображать инфу на уровне fullstory.tpl.

    Можно это исправить или ждать новую версию мега новой версии нового поколения) ?

    • 5
    1066
      •  Команда Pandoge
    16 мар в 19:38

    I think I understood what the problem is. But I need FTP access to the site. Can you give it to me?

    • 5
    1066
      •  Команда Pandoge
    16 мар в 19:36

    Valery, Hmm ... Very strange. The module is based on pure mathematics and logically, such an author should have 100% efficiency.

    Can I take a look at the site?

    • 0
    766
      •  Гости
    16 мар в 16:40

    Artem, uploader has added more 21000 articles from april 2016 to today...... and add articles all days.....

    • 12
    1066
      •  Команда Pandoge
    15 мар в 19:48

    Valery, The script works on this principle. If the user has not added anything over time (from the moment of registration to this day), his activity percentage is reduced.

    • 0
    766
      •  Гости
    15 мар в 18:34

    the form does not work properly. for an author with 21000 published articles he puts 3% confuse

    • 10
    1066
      •  Команда Pandoge
    23 авг в 18:46

    Виталий, ссылки на группы есть на главной странице сайта

    • 0
    766
      •  Гости
    23 авг в 16:48

    А как найти вас в вк?

    • 5
    1066
      •  Команда Pandoge
    23 авг в 15:08

    Виталий, напишите нам через «ВКонтакте» - посмотрим на ваш сайт и постараемся помочь.

    • 1
    766
      •  Гости
    23 авг в 10:13

    Круть, спасибо большое за модуль.

    Можешь подсказать как можно вывести данные в login.tpl

    <div><span>Коэффициент активности:</span> {include file="/engine/modules/u_efficiency/u_efficiency.php?&userName={login}"} </div> - это выводит любому пользователю 0.

Подняться наверх
«Pandoge» - помощник вебмастера