Модуль статистики посещений LightStat by Sander для DLE

Модуль статистики посещений LightStat by Sander

Модуль статистики посещений LightStat by Sander

Данный модуль сделан по мотивам модуля LightStat от Malcov. Суть та же, но реализация немного отличается, в частности упор сделан на оптимизацию.
Дизайн нагло скопировал, разве что стили свои прописал.
Модуль статистики посещений LightStat by Sander


На сайтах с небольшой посещаемостью в целом между модулями нет разницы. Плюс минус обрабатываются одинаково по времени (хотя может зависеть от настроек сервера). А вот при большой посещаемости разница уже будет вполне так заметна.
Добавил в коде файла несколько параметров для настройки:
$mod = [
	'update_time'  => 30,	//Интервал обновления блока на JS, раз в N секунд
	'update_limit' => 10,	//Максимальное количество обновлений

	'offline_time' => 5,	//Сколько минут бездействия считать пользователя оффлайном
	'cache_time'   => 5,	//Время кеширования, секунд. Поставить 0 чтобы не использовать кеш
];


Параметр update_limit нужен чтобы модуль не создавал нагрузку когда пользователь просто оставил вкладку открытой и ушел.

Установка:
Скачать архив и распаковать в корень сайта.
Lightstat By Sander.zip [2,91 Kb] (cкачиваний: 61)

Актуальную версию можно скачать на GitHub

В желаемом месте в шаблоне вставить:
{include file="engine/mods/lightstat.php"}

После первого запуска открыть файл engine/mods/lightstat.php и удалить или закомментировать строку №18.
Прочие настройки так же внутри файла.

Версия PHP: 5.4 и старше
Версия DLE: 10.4 и старше

Пример работы: color.sandev.pro

С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (15)
  1. foto
    Клиент 28 апреля 2018 19:09 #
    Есть ли какой-то смысл для модуля делать отдельную папку mods? Почему нельзя поместить его в modules?
    0
    1. foto
      Администратор 28 апреля 2018 19:23 #
      В папке modules расположены файлы движка.
      В папке mods я размещаю свои модули и подключаемые хаки.
      Должен быть порядок. Да и удобнее так. Обновил DLE, папку engine/mods закинул и все.

      К примеру на color.sandev.pro у меня 35 папок и 19 файлов в этой папке.
      Нужно что-то подправить, я не мучаю голову и не занимаюсь поисками файлов в:
      engine/ajax/modName.php
      engine/modules/modName.php
      engine/modules/modName/file.php
      engine/data/modConfig.php
      engine/classes/mod.class.php
      engine/inc/modName.php

      Другое дело - сразу зашел в engine/mods/modName и все внутри.
      +2
      1. foto
        Клиент 30 апреля 2018 12:05 #
        Согласен, это удобно. Я не знал, что Вы свои модули в отдельной папке храните. У меня установлен Чат от Вас и он в папке modules. Вот я и удивился, зачем отдельную папку создавать для 1 файла. Теперь понятно.
        0
  2. foto
    Клиент 30 апреля 2018 17:50 #
    Так разве должно быть? Откуда зеленая полоска?
    0
    1. foto
      Администратор 1 мая 2018 10:38 #
      Зеленая полоска так и должна быть, разве что ее видно не должно быть.

      Как только выложил модуль - я допустил ошибку с подсчетом баров. Но потом исправил. Попробуйте скачать модуль заново и заменить файл lightstat.php
      Если не поможет - в коде замените все ceil на floor
      0
  3. foto
    Клиент 2 июня 2018 11:38 #
    @ Sander подскажите пожалуйста, как сделать так что бы этот блок был виден только для админа сайта?
    Заранее благодарен за ответ!
    0
    1. foto
      Администратор 2 июня 2018 11:41 #
      Для сбора статистики файл должен быть подключен и виден для всех, т.е. не использовать теги [group=1]...[/group]

      Чтобы блок был виден только админу, нужно в php файле перед строкой
      $total_count = array_sum($stats);

      Вставить:
      if ($member_id['user_group'] != 1) {
          return false;
      }
      0
  4. foto
    Клиент 2 июня 2018 11:58 #
    Цитата: Sander
    Для сбора статистики файл должен быть подключен и виден для всех, т.е. не использовать теги [group=1]...[/group]

    Чтобы блок был виден только админу, нужно в php файле перед строкой


    Извиняюсь не совсем правильно сформулировал вопрос, нужно сделать так что бы админу был виден весь блок а посетителям только общий онлайн ("посетители сейчас на сайте")
    0
    1. foto
      Администратор 2 июня 2018 12:13 #
      Для этого нужно вставить нижеуказанные строки как на скриншоте.
      <?php if ($member_id['user_group'] == 1): ?>
      
      <?php endif; ?>
      0
  5. foto
    Клиент 2 июня 2018 12:32 #
    Цитата: Sander
    Для этого нужно вставить нижеуказанные строки как на скриншоте.
    <?php if ($member_id['user_group'] == 1): ?>
    
    <?php endif; ?>

    Большое вам спасибо!
    0
  6. foto
    Гость 22 июня 2018 17:24 #
    Уважаемый, а есть реализация но с никнеймами пользователей, которые в данный момент на сайте? Сколько не находил модулей, все не работают, то ли у них кодировка слетела, то мусорные функции, как показ браузера, страны и тд.
    На основе данного "мода" есть мод с никнеймами?
    0
    1. foto
      Администратор 22 июня 2018 17:30 #
      Про другие модули не знаю.
      Сделать вывод пользователей онлайн можно, но нужно писать небольшой модуль ну или этот дополнить.
      Я не возьмусь.
      0
  7. foto
    Гость 28 июля 2018 20:12 #
    Как настроить на сутки?
    0
    1. foto
      Администратор 28 июля 2018 20:25 #
      'offline_time' => 5,	//Сколько минут бездействия считать пользователя оффлайном

      В сутках 1440 минут.
      0
  8. foto
    Гость 28 июля 2018 20:40 #
    Цитата: Sander
    'offline_time' => 5,	//Сколько минут бездействия считать пользователя оффлайном

    В сутках 1440 минут.
    Спасибо, просто меня другие параметры смутили, думал надо их тож править или нет.)))
    0
Добавить комментарий
  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2018.
При копировании, ссылка на источник обязательна.