Новости Joomla

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

👩‍💻 v.2.6.1. Что нового?
- Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
- Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
- Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
- Рефакторинг и правки кода. Текущее обновление кодовой базы.
- Исправление ошибок.

👩‍💻 Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

- Страница расширения
- GitHub расширения
- Joomla Extensions Directory

@joomlafeed

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

Ссылки на видео и статьи из этого поста рассказывает об организационных вопросах, которые пригодятся для участия в PBF, а так же что и как делать.

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

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

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

Aeliot

  • Захожу иногда
  • 107
  • 2 / 0
Подскажите пожалуйста как можно программно авторизоваться на сайте так, чтобы в таблице #__users не обновилось значение последнего визита.
Авторизация собственно происходит таким образом.
Код
$instance = JUser::getInstance();
$instance->load($robotId);

// If _getUser returned an error, then pass it back.
if ($instance instanceof Exception) {
throw new Exception($instance->getMessage(), $instance->getCode());
return false;
}

// If the user is blocked, redirect with an error
if ($instance->get('block') == 1) {
throw new Exception(JText::_('JERROR_NOLOGIN_BLOCKED'), 500);
return false;
}

// Chek the user can login.
if (!$result = $instance->authorise('core.login.admin')){
throw new Exception(JText::_('JERROR_LOGIN_DENIED'), 500);
return false;
}

// Mark the user as logged in
$instance->set('guest', 0);

// Check to see the the session already exists.
JFactory::getApplication()->checkSession();

// Register the needed session variables
$session = JFactory::getSession();
$session->set('user', $instance);

// Create a Database object
$db = JFactory::getDBO();

// Update the user related fields for the Joomla sessions table.
$db->setQuery(
'UPDATE '.$db->quoteName('#__session').
'   SET '.$db->quoteName('guest') .'='.$db->quote($instance->get('guest')).',' .
'     '.$db->quoteName('username') .'='.$db->quote($instance->get('username')).',' .
'     '.$db->quoteName('userid') .'='.$db->quote((int) $instance->get('id')).
' WHERE '.$db->quoteName('session_id') .'='.$db->quote($session->getId())
);
$db->query();
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Скорее всего никак, лично я предлагаю перед авторизацией, запомнить время последнего визита, после сделать запрос что бы поставить это время обратно...
*

Aeliot

  • Захожу иногда
  • 107
  • 2 / 0
Гы-гы-гы... ;D
Все таки победил.
Правда нужно сделать лирическое отступление. Этот скрипт используется только для программной обработки данных кроном, иначе нужно делать то, что предложил Instaan*DRINK*

Так вот, что сделано. Для начала, выкидываем из приведенного кода обновление таблицы сессии (#__session). Зачем нам светить нашего робота в списке последних авторизованных пользователей? Нам это не надо.
Затем, после проведения необходимых операций вместо стандартной схемы выхода пользователя из системы аля...
Код: php
JFactory::getApplication()->logout($robotId);
делаем следующее:
Код: php-brief
		// kill user
$session->set('user', null);
// kill session
$session->destroy();

И конечно, если скрипт отдает какие-то данные, то в начале скрипта нужно добавить буфферизацию вывода,
Код: php
ob_start();
чтобы при убивании сессии не иметь проблем с заголовками.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться