Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 986 Просмотров
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Статус
« : 02.12.2015, 08:01:10 »
Здравствуйте, подскажите есть ли в Joomla проверка статуса пользователя онлайн или нет? Делал как ниже постоянно пишет что онлайн т.е. постоянно возвращает 0
Код
$user_status = JFactory::getUser($inbase_user->id);
                                  if (!$user_status->guest)
                                  {
                                    echo JText::_("COM_ONLINE"); 
                                  }
                                  else
                                  {
                                   echo JText::_("COM_OFFLINE");
                                  }
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Статус
« Ответ #1 : 02.12.2015, 08:17:29 »
Посмотрите как работают модули пользователей в админке.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Статус
« Ответ #2 : 02.12.2015, 10:19:58 »
Код
$db = JFactory::getDBO();

$db->setQuery($db->getQuery(true)
  ->select('COUNT(*)')
  ->from($db->quoteName('#__session'))
  ->where($db->quoteName('userid'). " = " . (int) $userID)
);

if($is_online = $db->loadResult())
{
  // Авторизирован
}
else
{
  // Не авторизирован
}
« Последнее редактирование: 02.12.2015, 10:42:06 от Филипп Сорокин »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Статус
« Ответ #3 : 02.12.2015, 17:41:32 »
Если нужно определить сразу несколько пользователей (больше одного) то запрос нужно изменить и сделать выборку.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться