- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Модуль "кто on-line" Joomla показывает на мой взгляд не верные данные, по сравнением со счетчиком ли.ру. (в 2 часа дня на сайте по ли.ру побывало всего 90 человек, а он пишет что мол в данный момент на сайте он-лайн 45-50, и значение меняется постоянно, и увеличивается и уменьшается)
Читал где то в архиве форума, что он возможно учитывает ботов ПС, или учитывает за некий период времени.
Модуль нужен, хочется его оставить, но нужны правдивые данные. Подскажите как его исправить? может кто то переделывал?
Модуль показывает пользователей, который были активны в последние n минут, насколько я помню, было 15.
Модуль показывает пользователей, который были активны в последние n минут, насколько я помню, было 15.
А это значение возможно ли поменять? Да и как то все равно много. если бы за последние 6 часов то да, совпадало бы...
Для начала отключите кэширование для модуля.
Для начала отключите кэширование для модуля.
А по другому и нельзя...
Если это не помогло, попробуйте выполнить следующие шаги.
Сделайте бэкап файла /modules/mod_whoisonline/helper.php
Откройте /modules/mod_whoisonline/helper.php
Найдите
Замените на
Найдите
Замените на
$datenow = date(“Y-m-d H:i:s”);
$time_string = strtotime($datenow);
// Активные зарегистрированные пользователи
$extra_time = 600; //10 минут x 60 секунд
$online_time = ($time_string-$extra_time);
// Учитываем зарегистрированных пользователей за последние 10 минут
$query = “SELECT DISTINCT a.username, a.userid, u.name”
.”\n FROM #__session AS a, #__users AS u”
.”\n WHERE (a.userid=u.id) AND (a.guest = 0) AND (NOT ( a.usertype is NULL OR a.usertype = ” )) AND a.time>’$online_time’”
.”\n ORDER BY “.(($ueConfig['name_format'] > 2) ? “a.username” : “u.name”).” ASC”;
Теперь Вы можете менять переменную активности и учитывать только пользователей за последние n минут.
У меня выглядит так этот файл. При замене выше упомянутых строк, сайт перестает работать)
Что после первого куска что после второго остаются
$db->setQuery($query);
$result = $db->loadObjectList();
Их нужно убрать?
Убрал не работает...
Оставил не работает.
В чем то ошибка остаеться после замены..
Вот так получилось
class modWhosonlineHelper {
// show online count
function getOnlineCount() {
$db =& JFactory::getDBO();
$sessions = null;
// calculate number of guests and members
$result = array();
$user_array = 0;
$guest_array = 0;
$datenow = date(“Y-m-d H:i:s”);
$time_string = strtotime($datenow);
// Показываем пользователей, которые активны в последние 10 минут
$extra_time = 300; // 600 секунд = 10 минут
$online_time = ($time_string-$extra_time);
$query = “SELECT a.guest, a.usertype, a.client_id”
.”\n FROM #__session AS a”
.”\n WHERE a.client_id=0 AND a.time>’$online_time’”;
if ($db->getErrorNum()) {
JError::raiseWarning( 500, $db->stderr() );
}
if (count($sessions)) {
foreach ($sessions as $session) {
// if guest increase guest count by 1
if ($session->guest == 1 && !$session->usertype) {
$guest_array ++;
}
// if member increase member count by 1
if ($session->guest == 0) {
$user_array ++;
}
}
}
$result['user'] = $user_array;
$result['guest'] = $guest_array;
return $result;
}
// show online member names
function getOnlineMemberNames() {
$db =& JFactory::getDBO();
$result = null;
// Новый запрос с учетом времени
$query = “SELECT DISTINCT a.username, a.userid, u.name”
.”\n FROM #__session AS a, #__users AS u”
.”\n WHERE (a.userid=u.id) AND (a.guest = 0) AND (NOT ( a.usertype is NULL OR a.usertype = ” )) AND a.time>’$online_time’”
.”\n ORDER BY “.(($ueConfig['name_format'] > 2) ? “a.username” : “u.name”).” ASC”;
if ($db->getErrorNum()) {
JError::raiseWarning( 500, $db->stderr() );
}
return $result;
}
}
Напишите в скайп, исправим.
mteent