Новости Joomla

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

7 января 2026 года греческому разработчику Тассосу Мариносу сообщили об уязвимости в системном плагине Tassos Framework, который входит в состав его расширений для Joomla.

⚠️ Проблема затрагивает следующие расширения:
- Convert Forms - конструктор форм обратной связи для Joomla
- EngageBox - конструктор всплывающих окон для Joomla
- Google Structured Data - пакет плагинов микроразметки для Joomla
- Advanced Custom Fields - пакет плагинов пользовательских полей (видео-сервисы, карты и иже с ними)
- Smile Pack - пакет расширений
- MailChimp Auto-Subscribe

Незамедлительно была проведена полная внутренняя проверка кода, внедрены дополнительные меры проверки и повышения безопасности, а также выпущены исправленные версии всех затронутых расширений. Проблема полностью решена.

👉 Суть уязвимости.
Уязвимость заключалась в том, как плагин Tassos Framework обрабатывал определенные AJAX-запросы через com_ajaxточку входа Joomla. При определенных условиях внутренняя функциональность фреймворка могла быть вызвана без надлежащих ограничений.

В худшем случае это могло позволить неавторизованному злоумышленнику читать файлы, доступные веб-серверу. Это также могло позволить удалять файлы с сервера при выполнении определенных условий.

При определенных обстоятельствах запросы к базе данных могли быть изменены для извлечения данных из базы данных Joomla. В совокупности эти возможности потенциально могли быть использованы для повышения уровня доступа и выполнения несанкционированного кода.

В настоящее время нет никаких доказательств того, что эта уязвимость была использована в реальных условиях.

Немедленно обновите расширения до безопасных версий (Joomla 4/5/6 | Joomla 3):
- Convert Forms - v5.1.1 / v.4.1.1
- EngageBox - v.7.1.1 / v,6,3,9
- Google Structured Data - v.6.1.1 / v.5.6.9
- Advanced Custom Fields - v.3.1.1 / v.2.8.10
- Smile Pack - v.2.1.1 / v.1.2.4.
- MailChimp Auto-Subscribe - v.5.1.1+ / v.5.0.4

Все указанные версии включают в себя релиз безопасности плагина Tassos Framework System Plugin v6.0.62.

Если у вас установлено несколько расширений Tassos, достаточно обновить только одно, чтобы применить патч. Однако всегда рекомендуется обновлять все расширения.

@joomlafeed

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

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

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

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

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Доброго времени суток уважаемые формучане. Челом бью, прошу натолкнуть на путь истинный. Проблема :

имеется 2 таблицы. В первой таблице хранятся записи с тарифными планами (id name price). Во второй таблице хранится список пользователей. При редактировании записи с пользователем  ему можно выбрать 2 тарифа (для 2-ух разных услуг. К примеру тариф на Интернет и тариф на Телевидение.) Мне необходимо в компоненте (компонент само писный) в модели вывести список пользователей и в колонке тариф указать наименование их тарифного плана. Для реализации в модели есть вот такой запрос :

Код: php
	$db = JFactory::getDbo();
$query = $db->getQuery(true);
        $query->select('a.* , b.id AS tarif_id, b.name AS tarif_name');
        $query->from('`#__clients` AS a');
        $query->join('LEFT', '#__clientstarif AS b ON (a.tarif_tv = b.id)');
        $query->order('a.id DESC');

return $query;

На странице со списком абонентов переменная $row->tarif_name; выводит наименование тарифного плана для 1 из типов тарифа. Допустим это интернет. НО мне так же нужно вывести наименование тарифного плана для ТВ. В БД в таблице с пользователями есть 2 столбца в которых хранится id выбранного тарифного плана для пользователя. И вот в чем проблема : хоть убейте не могу понять как мне при таком условии или при подобном вывести  в результате работы запроса наименование для второго тарифного пана. То есть в строке $query->select('a.* , b.id AS tarif_id, b.name AS tarif_name'); я указываю что есть 2 таблицы и будет некий псевдоним при выборке. Но как мне указать что будет 2 таблицы а вот псевдонимов будет  3 ? То есть что то вроде этого :

Код: php

$db = JFactory::getDbo();
$query = $db->getQuery(true);
        $query->select('a.* , b.id AS tarif_id, b.name AS tarif_name, с.id AS tarif_inter_id, c.name AS tarif_inter_name');
        $query->from('`#__clients` AS a');
        $query->join('LEFT', '#__clientstarif AS b ON (a.tarif_tv = b.id AND a.tarif_inter_tv = c.id)');
        $query->order('a.id DESC');

return $query;
(пример не рабочий есесн, иначе не писал бы в топик :( )

В общем подскажите кто знает - сам зашел в ступор. С Джоинами немного напряженные отношения :(
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Не фига не понял в каком виде это должно прийти да и структуры таблицы бы видеть полностью.

А вообще имхо не проще ли юзать еще одну таблицу id полльховтеля | id траифа . И получать их отдельно.  А то будет потом понадобиться 3-4 категория и переделывай по новой весь запрос. Хотя все зависит от ситуации.
« Последнее редактирование: 01.11.2016, 17:31:08 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Уже сам решил. Чет не подумал про точ то можно сделать 2 LEFT JOIN к  1 таблице.

Суть вот в чем :

tarif_tnle

id     name    price

user_table

id name tarif_id1   tarif_id_2


И мне нужно было на странице с пользователями отобразить список пользователей и наименование их тарифов. Т.к тарифы в таблице tarif_table то я делал туда запрос с LEFT JOIN . Застопорился я в тот момент когда получил имя для tarim_id_1 и мне нужно было получить имя для tarif_id_2. Решил вот так

Код: php
	$db = JFactory::getDbo();
$query = $db->getQuery(true);
        $query->select('a.* , b.id AS tarif_id, b.name AS tarif_name, c.id AS tarif_dom_id, c.name AS tarif_dom_name');
        $query->from('`#__clients` AS a');
        $query->join('LEFT', '#__clientstarif AS b ON (a.tarif_tv = b.id)');
        $query->join('LEFT', '#__clientstarif AS c ON (a.tarif_domophone = c.id)');

        $query->order('a.id DESC');
return $query;
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Решил вот так
Бритва оккама.
« Последнее редактирование: 01.11.2016, 17:47:49 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Бритва окама.

Согласен
*

Mitriy

  • Захожу иногда
  • 86
  • 0 / 0
$db = JFactory::getDbo();
$query = $db->getQuery(true);
        $query->select('a.* , b.id AS tarif_id, b.name AS tarif_name, с.id AS tarif_inter_id, c.name AS tarif_inter_name');
        $query->from('`#__clients` AS a');
        $query->join('LEFT', '#__clientstarif AS b ON (a.tarif_tv = b.id AND a.tarif_inter_tv = c.id)');
        $query->order('a.id DESC');

return $query;

Так вот сделал
Код
$query->join('LEFT', '#__clientstarif AS b ON a.tarif_tv = b.id AND a.tarif_inter_tv = c.id)');
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вызов определенной функции модели ajax

Автор Dram

Ответов: 16
Просмотров: 1060
Последний ответ 26.11.2020, 17:01:55
от Dram
Размещение 3d-модели на сайте

Автор Михаил ЕН

Ответов: 5
Просмотров: 1135
Последний ответ 31.07.2020, 09:41:59
от AlexB
Как выбрать данные по нескольким полям в join с сопоставлением?

Автор natsk2

Ответов: 2
Просмотров: 662
Последний ответ 03.10.2019, 13:52:39
от natsk2
Как в модели получить настройки пункта меню?

Автор Inoken

Ответов: 4
Просмотров: 1376
Последний ответ 08.06.2017, 13:09:57
от Inoken
Баннеры в ряд: float:left Проблема

Автор saps70

Ответов: 8
Просмотров: 999
Последний ответ 22.02.2017, 09:43:46
от saps70