Новости 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 Гость просматривают эту тему.
  • 19 Ответов
  • 5769 Просмотров
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Доброго времени суток!
Такой вопрос как можно по выводить значение полей пользователя которые были добавлены в "Профиль пользователя" ?
Я понимаю что можно написать запросы к базе, но в этом я не силён и думаю должен быть способ по проще.
Подскажите, поделитесь идеями или решением.
Спасибо !
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$user = JFactory::getUser();
var_dump($user);
//Здесь ваши данные
?>

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Что то не получилось
У меня задача стоит так, надо вывести данные всех пользователей из определённого региона.
Регионы у пользователей добавляются как дополнительное поле "Профиль пользователя" таблица jos_user_profiles
Такой вопрос как вывести всех пользователей у которых в таблице jos_user_profiles поле profile_value равно id региона например 60

Если короче я в выпадающем списке выбираю регион, а мне выводит из таблицы jos_users почту и из таблицы jos_user_profiles телефон всех пользователь в этом регионе

Дайте хотя бы пример как вывести почту всех пользователь из таблицы  jos_users
И телефон всех пользователей из  jos_user_profiles

Спасибо большое !
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Код: php-brief
<?php
$user = JFactory::getUser();
var_dump($user);
//Здесь ваши данные
?>

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>

Дайте пример как вывести почту всех пользователь из таблицы  jos_users
И телефон всех пользователей из  jos_user_profiles
Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$region_id=60;
jimport( 'joomla.user.helper' );
$db = JFactory::getDBO();
$sql = "SELECT a.user_id, b.email FROM #__user_profiles as a, #__users as b ";
$sql .= "WHERE a.profile_key='profile.region' and a.profile_value='\"$region_id\"' and b.id=a.user_id";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
$userProfile = JUserHelper::getProfile($user->user_id);
echo $user->email;
echo $userProfile->profile['phone'];
}
?>
Все e-mail
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT email FROM #__users";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo $user->email;
}
?>
Все телефоны
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo str_replace('"', '',$user->profile_value);
}
?>
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Все телефоны
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo str_replace('"', '',$user->profile_value);
}
?>

Спасибо Огромное Работает
Только вот проблема есть такая
некоторые данные выводит вот так "\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447 "
На форуме видел сообщение "http://joomlaforum.ru/index.php?topic=241816.0" но не понял в чём решение кроме того что менять хостера
но данные уже выводятся в таком виде как это можно исправить ?
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Подскажите как можно выводить данные из "Профиль пользователя" что бы они небыли закодированы в таком виде "\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447" ?
Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
echo json_decode('"\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447"');
//Иванович
Или так может
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo  json_decode($user->profile_value);
}
?>
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Спойлер
[свернуть]

Спасибо работает НО есть проблема в базе есть и не закодированы элементы
и получается там что если закодировано оно выводит, а если не закодировано то просто пусто, как от такого избавиться ?
Может как-то сделать проверку на то закодирован элемент или нет ?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
самое простое наверно так
Код: php-brief
$data =  json_decode($user->profile_value);
echo ($data ? $data : str_replace('"', '',$user->profile_value));
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
самое простое наверно так
Код: php-brief
$data =  json_decode($user->profile_value);
echo ($data ? $data : str_replace('"', '',$user->profile_value));

Огромное СПАСИБО ! Работает !
Вы меня выручили очень сильно !
*

benshee

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Ребят, а в каком файле то добавлять все это ? )
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
В плагине профилей или там где нужно, тоже можно вывести.
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

oblepiha

  • Новичок
  • 1
  • 0 / 0
Код: php-brief
<?php
$user = JFactory::getUser();
var_dump($user);
//Здесь ваши данные
?>

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>
Извиняюсь за свою безграмотность, но все таки вопрос задам.. нужно вывести в поле номер квартиры из поля профиля залогинившегося пользователя.. вывод поля я сделал, но он выводит первую попавшуюся квартиру в таблице, а не данного пользователя. Всю голову уже сломал
*

Genrih

  • Осваиваюсь на форуме
  • 13
  • 0 / 0

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>

Выдало:
JObject Object ( [_errors:protected] => Array ( ) [id] => 566 [profile] => Array ( [address1] => [address2] => [city] => Краснодар [region] => [country] => [postal_code] => [phone] => [website] => [favoritebook] => [aboutme] => [dob] => ) )

как отсюда вывести [city] ?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Наверное так:
Код: php
$userProfile[profile][city]
*

Genrih

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Наверное так:
Код: php
$userProfile[profile][city]

чет не выходит, выдало следующее:

JObject Object ( [_errors:protected] => Array ( ) [id] => 0 )
Notice: Use of undefined constant profile - assumed 'profile' in .../index.php on line 168

Notice: Use of undefined constant city - assumed 'city' in .../index.php on line 168

Fatal error: Cannot use object of type JObject as array in .../index.php on line 168
*

etoOH

  • Новичок
  • 1
  • 0 / 0
самое простое наверно так
Код: php-brief
$data =  json_decode($user->profile_value);
echo ($data ? $data : str_replace('"', '',$user->profile_value));

Здравствуйте! Подскажите пожалуйста, как этот код объединить с кодом из другого Вашего поста:
Спойлер
[свернуть]

Его использую в автозаполнении полей формы RSForm. Необходимо убрать кавычки и декодировать данные из профиля.


Есть ещё вопрос из этой же ветки.  Я воспользовался Вашим плагином выбора групп при регистрации, дабы упростить процесс, оставив всего два поля, - Имя и почту. Хотелось бы, чтобы перед заполнением формы не приходилось авторизовываться. в Форме есть одно из обязательных полей - е-маил. Уведомление администратору настроено таким образом, что передаёт user_id в скрытом поле, по которому предполагается вести статистику отправленных форм. Собственно есть такое пожелание, чтобы перед записью в базу, поле е-маил сравнивалось с базой пользователей, при наличии такого пользователя вставлялось в скрытое поле user_id  для отправки администратору и дописывалось в базу отправленных форм(идеально - на лету, то есть вписав в начале формы почту, доступные данные вносились бы в поля).  Хотя из соображений безопасности, думаю кроме id ничего не нужно автозаполнять...

Joomla 3.2.3, RSForm 1.4.0 rev.48

Коды в полях RSForm


 
Спойлер
[свернуть]


« Последнее редактирование: 11.05.2014, 14:38:29 от etoOH »
*

Сергей

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Код: php-brief
echo json_decode('"\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447"');
//Иванович
Или так может
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo  json_decode($user->profile_value);
}
?>
Подскажите пожалуйста что нужно подправить в этом коде чтобы выводило информацию только конкретного пользователя по id, запутался совсем. Этот код работает но выводится вся информация полностью.
*

Сергей

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Уточню вопрос:
Cделал так:
 <?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.address1'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)

{
$data =  json_decode($user->profile_value);   
echo ($data ? $data : str_replace('"', '',$user->profile_value));
}
?>
В админке есть таблица с информацией о пользователе, хочу в нее вывести данные из профиля (дополнительные поля в плагине "профиль пользователя", конкретно интересует поле address1)
вышеуказанный код работает но он напротив каждого пользователя выводит данные всех пользователей.
Как правильно прописать код чтобы каждому пользователю из списка подставлялась соответствующая информация из поля address1.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод новостей

Автор lindim

Ответов: 5
Просмотров: 4708
Последний ответ 24.04.2023, 11:16:59
от Hrillow
Вывод информации в личный кабинет пользователя

Автор zndm

Ответов: 17
Просмотров: 6981
Последний ответ 22.09.2022, 18:51:44
от beliyadm
Материалы пользователя (контакта)

Автор katerina37

Ответов: 5
Просмотров: 1779
Последний ответ 18.02.2022, 11:53:02
от katerina37
Руководство пользователя Joomla! 2.5 + 10 легких шагов к освоению Joomla! 3 (книги в pdf)

Автор Marques

Ответов: 68
Просмотров: 228640
Последний ответ 08.01.2021, 13:41:45
от artemnaum
Определение города пользователя по IP

Автор ria_andy

Ответов: 8
Просмотров: 7649
Последний ответ 05.12.2019, 15:20:40
от nikolaevevge