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

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Нужно отобразить информацию о пользователе, скажем телефон или любую другую инфу, в каком-то другом месте внутри профиля пользователя.

Поковырялся в файлах default_custom.php и profile.xml. Результат нулевой и много потраченного вникуда времени.

Пробовал так же такой же код, который по идее должен работать, но не работает...

<?php return JFactory::getUser()->get('phone','');?>

По идее эта строчка отображает массив данных:

         <?php if (JHtml::isRegistered('users.'.$field->id)):?>
            <?php echo JHtml::_('users.'.$field->id, $field->value);?>
         <?php elseif (JHtml::isRegistered('users.'.$field->fieldname)):?>
            <?php echo JHtml::_('users.'.$field->fieldname, $field->value);?>
         <?php elseif (JHtml::isRegistered('users.'.$field->type)):?>
            <?php echo JHtml::_('users.'.$field->type, $field->value);?>
         <?php else:?>
            <?php echo JHtml::_('users.value', $field->value);?>

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

Есть идеи какие по этому поводу?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php
<?php print_r (JFactory::getUser()); ?>
затем анализируя данные выводим
Код: php-brief
<? 
$myuser = JFactory::getUser();
echo $myuser->name;
echo $myuser->username;
echo $myuser->email;
// и т .д исходя из ранее выведенной информацией print_r
?>
*

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Poznakomlus, name и юзернейм он выводит без проблем.. а вот к примеру номер телефона или город, не выводит нивкакую. Наверное потому что эти данные идут из plugin profiler.

На всякий случай показываю весь код из двух файлов отвечающих за отображение этих данных..

Код
<?php
/**
 * @package Joomla.Site
 * @subpackage com_users
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 * @since 1.6
 */
defined('_JEXEC') or die;

JLoader::register('JHtmlUsers', JPATH_COMPONENT . '/helpers/html/users.php');
JHtml::register('users.spacer', array('JHtmlUsers', 'spacer'));

$fieldsets = $this->form->getFieldsets();
if (isset($fieldsets['core']))   unset($fieldsets['core']);
if (isset($fieldsets['params'])) unset($fieldsets['params']);

foreach ($fieldsets as $group => $fieldset): // Iterate through the form fieldsets
$fields = $this->form->getFieldset($group);
if (count($fields)):
?>
<fieldset id="users-profile-custom" class="users-profile-custom-<?php echo $group;?>">
<?php if (isset($fieldset->label)):// If the fieldset has a label set, display it as the legend.?>
<legend><span>Contact Info</span></legend>
<?php endif;?>
<dl>
   
<?php foreach ($fields as $field):
if (!$field->hidden) :?>
<dt><?php echo $field->title; ?></dt>
<dd>
<?php if (JHtml::isRegistered('users.'.$field->id)):?>
<?php echo JHtml::_('users.'.$field->id, $field->value);?>
<?php elseif (JHtml::isRegistered('users.'.$field->fieldname)):?>
<?php echo JHtml::_('users.'.$field->fieldname, $field->value);?>
<?php elseif (JHtml::isRegistered('users.'.$field->type)):?>
<?php echo JHtml::_('users.'.$field->type, $field->value);?>
               

<?php else:?>
<?php echo JHtml::_('users.value', $field->value);?>

<?php endif;?>
           
</dd>

<?php endif;?>
<?php endforeach;?>
</dl>
</fieldset>


<?php endif;?>
<?php endforeach;?>


Код
<form>
<fields name="profile">
<fieldset name="profile"
label="PLG_USER_PROFILE_SLIDER_LABEL"
>
<field
name="address1"
type="text"
id="address1"
description="PLG_USER_PROFILE_FIELD_ADDRESS1_DESC"
filter="string"
label="PLG_USER_PROFILE_FIELD_ADDRESS1_LABEL"
message="PLG_USER_PROFILE_FIELD_ADDRESS1_MESSAGE"
size="30"
/>

<field
name="address2"
type="text"
id="address2"
description="PLG_USER_PROFILE_FIELD_ADDRESS2_DESC"
filter="string"
label="PLG_USER_PROFILE_FIELD_ADDRESS2_LABEL"
message="PLG_USER_PROFILE_FIELD_ADDRESS1_MESSAGE"
size="30"
/>

<field
name="city"
type="text"
id="city"
description="PLG_USER_PROFILE_FIELD_CITY_DESC"
filter="string"
label="PLG_USER_PROFILE_FIELD_CITY_LABEL"
message="PLG_USER_PROFILE_FIELD_CITY_MESSAGE"
size="30"
/>


Пробовал делать по разному..

echo $fieldsets->favoritebook;
echo $fields->favoritebook;
echo $fields->favoritebook->value;
echo $favoritebook->value;

не отображает и все... Там наверное нужно писать $myuser = JFactory::getUser();, не myuser, а какой-нибуть fieldset... Только как все это писать не пойму...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Когда распечатывается <?php print_r (JFactory::getUser()); ?> nOObMeister данные есть ваши здесь?
*

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Всмысле мои данные?

Все данные естественно давно вбиты в базу данных через profile, если в таблице нету данных, а стоит команда их отобразить. то отображается no data entered вроде..

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

Мне нужно вывести данные, которые находят в User manager - myClient - вкладка user profile, которая становится доступной если открыть встроенный в Joomla плагин profile.
« Последнее редактирование: 24.05.2012, 13:00:12 от nOObMeister »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$db = JFactory::getDbo();
$db->setQuery(
'SELECT profile_key, profile_value FROM #__user_profiles' .
' WHERE user_id = '.(int) JFactory::getUser()->id." AND profile_key LIKE 'profile.%'" .
' ORDER BY ordering'
);
$results = $db->loadRowList();
$profile = array();
foreach ($results as $v)
{
$k = str_replace('profile.', '', $v[0]);
$profile[$k] = json_decode($v[1], true);
}
//print_r ($profile);
echo $profile[phone];
?>
*

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Спасибо большое, завтра попробую!

К сожалению сегодня нет времени проверять.
*

shibaevvv

  • Захожу иногда
  • 60
  • 4 / 0
делал так:

Код
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
ну а дальше:
Код
echo 'Адрес Василия: '.$userProfile->profile[address2].' город: и тд ';
« Последнее редактирование: 24.05.2012, 22:18:15 от shibaevvv »
*

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Печалька, не сработал ни один из способов..

Пробовал так писать... не работает.  :'(

Код
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
echo 'About: '.$userProfile->profile[aboutme].'aboutme';
?>

Ошибок никаких не выдает, но ничего и не отбражает..
« Последнее редактирование: 27.05.2012, 19:08:32 от nOObMeister »
*

Chopivkiy

  • Новичок
  • 3
  • 0 / 0
Добрый день, подскажите как сделать так, что бы подтягивался в форму, отправляемую по почте мобильный телефон зарегистрированного пользователя?
К примеру этот код добавляет имя пользователя. А с телефоном не получается.

//<code>
$myuser = JFactory::getUser();
return $myuser->name;
//</code>

Заранее спасибо.
*

SWoz

  • Захожу иногда
  • 62
  • 0 / 1
Как отобразить данные из профиля пользователя, прямо в шаблоне?

*/joomla/templates/shablon/
В главном файле шаблона index.php

Добавляете в самом начале файла, после

// no direct access
defined( '_JEXEC' ) or die;

следующие строки

jimport( 'joomla.user.helper' );
$userprofile = JUserHelper::getProfile();

дальше выводим нужные данные из массива

<?php echo print_r($userprofile->profile); ?> - вывод всего массива "ключ - значение"

<?php echo $userprofile->profile[aboutme]; ?> - вывод определенного значения (в данном случае "информация о пользователе")

Все стандартные ключи, думаю расшифровывать не надо:
[address1]
[address2]
[city]
[region]
[country]
[postal_code]
[phone]
[website]
[favoritebook]
[aboutme]
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
JFactory::getUser()->id это  ид залогиненного пользователя здесь. Можете заменить нужным вам ид, смотрите в админке
для гостей 0
соответственно запрос ничего не выведет
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
В профиле пользователя компонента Kunena сделал такой вывод:
Код
<li><?php 
defined( '_JEXEC' ) or die;
jimport( 'joomla.user.helper' );
$userprofile = JUserHelper::getProfile();
echo "<strong>Город: </strong>".$userprofile->profile[city];
echo "<br/>";
?></li>
<li><?php
echo "<strong>Телефон: </strong>".$userprofile->profile[phone];
?></li>
Во всех профилях, которые я просматриваю отображается мой Город и Телефон. Как сделать чтоб отображались данные того пользователя к которому захожу?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
В профиле пользователя компонента Kunena сделал такой вывод:
Код
<li><?php 
defined( '_JEXEC' ) or die;
jimport( 'joomla.user.helper' );
$userprofile = JUserHelper::getProfile();
echo "<strong>Город: </strong>".$userprofile->profile[city];
echo "<br/>";
?></li>
<li><?php
echo "<strong>Телефон: </strong>".$userprofile->profile[phone];
?></li>
Во всех профилях, которые я просматриваю отображается мой Город и Телефон. Как сделать чтоб отображались данные того пользователя к которому захожу?
Профиль Kunena и профиль движка - совсем разные вещи
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Профиль Kunena и профиль движка - совсем разные вещи
Знаю, просто хочу здесь выводить дополнительную информацию. Тут просто надо сделать привязку по ID пользователя, но не пойму как.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Знаю, просто хочу здесь выводить дополнительную информацию. Тут просто надо сделать привязку по ID пользователя, но не пойму как.
А где именно здесь?
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
А где именно здесь?
В профиле Kunena. Уже догадался. Спасибо что отозвались! Сделал так:
Код
$userprofile = JUserHelper::getProfile($this->user->id); 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод информации в личный кабинет пользователя

Автор zndm

Ответов: 17
Просмотров: 6979
Последний ответ 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
Просмотров: 228637
Последний ответ 08.01.2021, 13:41:45
от artemnaum
Определение города пользователя по IP

Автор ria_andy

Ответов: 8
Просмотров: 7649
Последний ответ 05.12.2019, 15:20:40
от nikolaevevge
Как вывести данные из stdClass Object в Joomla?

Автор specialist-web

Ответов: 7
Просмотров: 3276
Последний ответ 06.05.2019, 18:24:37
от specialist-web