====== Kunena и неправильное отображение кол-ва гостей на форуме ====== Проблема кучу раз описана: форум неверно показывает количество гостей на форуме. Авторы компонента сваливают все на кривую систему подсчета в Joomla. Но надо же как-то жить. Решение для Kunena 2.0.2: вообще убрать отображение гостей. Радикально, плохо, зато действенно. Открываем файл сайт/components/com_kunena/views/common/view.html.php, ищем функцию displayWhosonline и правим ее: Было: function displayWhosonline($tpl = null) { if ($this->offline) return; $moderator = intval($this->me->isModerator())+intval($this->me->isAdmin()); $cache = JFactory::getCache('com_kunena', 'output'); if ($cache->start("{$this->ktemplate->name}.common.whosonline.{$moderator}", "com_kunena.template")) return; $users = KunenaUserHelper::getOnlineUsers(); KunenaUserHelper::loadUsers(array_keys($users)); $onlineusers = KunenaUserHelper::getOnlineCount(); $who = ''.$onlineusers['user'].' '; if($onlineusers['user']==1) { $who .= JText::_('COM_KUNENA_WHO_ONLINE_MEMBER').' '; } else { $who .= JText::_('COM_KUNENA_WHO_ONLINE_MEMBERS').' '; } $who .= JText::_('COM_KUNENA_WHO_AND'); $who .= ' '. $onlineusers['guest'].' '; if($onlineusers['guest']==1) { $who .= JText::_('COM_KUNENA_WHO_ONLINE_GUEST').' '; } else { $who .= JText::_('COM_KUNENA_WHO_ONLINE_GUESTS').' '; } $who .= JText::_('COM_KUNENA_WHO_ONLINE_NOW'); $this->membersOnline = $who; $this->onlineList = array(); $this->hiddenList = array(); ... стало: function displayWhosonline($tpl = null) { if ($this->offline) return; $moderator = intval($this->me->isModerator())+intval($this->me->isAdmin()); $cache = JFactory::getCache('com_kunena', 'output'); if ($cache->start("{$this->ktemplate->name}.common.whosonline.{$moderator}", "com_kunena.template")) return; $users = KunenaUserHelper::getOnlineUsers(); KunenaUserHelper::loadUsers(array_keys($users)); $onlineusers = KunenaUserHelper::getOnlineCount(); /* fix 'online users count' error $who = ''.$onlineusers['user'].' '; if($onlineusers['user']==1) { $who .= JText::_('COM_KUNENA_WHO_ONLINE_MEMBER').' '; } else { $who .= JText::_('COM_KUNENA_WHO_ONLINE_MEMBERS').' '; } $who .= JText::_('COM_KUNENA_WHO_AND'); $who .= ' '. $onlineusers['guest'].' '; if($onlineusers['guest']==1) { $who .= JText::_('COM_KUNENA_WHO_ONLINE_GUEST').' '; } else { $who .= JText::_('COM_KUNENA_WHO_ONLINE_GUESTS').' '; } */ $who .= JText::_('COM_KUNENA_WHO_ONLINE_NOW'); $this->membersOnline = $who; $this->onlineList = array(); $this->hiddenList = array(); ... {{tag>joomla kunena who_is_online_error пользователей_онлайн неверное_количество}}