Новости 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 Ответов
  • 18537 Просмотров
*

pawa

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Мне необходимо изменить HTML КОД, который формирует модуль mainmenu.

По умолчанию код меню получается такой:

Код
<ul class="menu">

<li id="current" class="first active item1">
<a href="#"><span>Главная</span></a>
</li>

<li class="item41">
<a href="#"><span>FAQ</span></a>
</li>

</ul>

В связи со спецификой верстки нужно, чтобы меню выводилось таким кодом:

Код
<ul>
<li>
<div class="l-menu-li">
<a href="#">Главная</a>
</div>
</li>

<li>
<div class="l-menu-li">
<a href="#">О компании</a>
</div>
</li>

</ul>

т.е. нужно вставить внутрь каждого пункта дополнительный div.

Я полагаю это можно сделать каким то образом редактируя modules/mod_mainmenu/tmpl/default.php , но как именно?
Есть тут специалисты, кто нибудь может подсказать?
Советовать сделать меню через CSS - не надо... :)

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

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
В 1,5 со стандартным mod_mainmenu - никак, не трогая ядро
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
да, лучше сделать копию этого модуля и уже не у самого mod_mainmenu лазить в кишках, а в том модуле который сделаешь на его основе. Тогда и обновлять Joomla можно будет со спокойной душой

да, лучше сделать копию этого модуля и уже не у самого mod_mainmenu лазить в кишках, а в том модуле который сделаешь на его основе. Тогда и обновлять Joomla можно будет со спокойной душой
Так и сделал уже давно, Ну великие Гуру Joomla до сих пор ни кто не смог взяться за поставленный вопрос ?
*

rlepricon

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
А можно поподробнее?
правильно ли я понимаю, что нужно скопировать папку \modules\mod_mainmenu, например, в папку \modules\mod_mymenu?

Так же вопрос, как сделать чтобы каждый пункт меню и подменю обрамлялся картинкой?
В каком месте надо вставлять код картинки?   

Дико извиняюсь если мой ответ покажется бредом, но я у меня получилось сделать сабж без изменений в ядре.
Если я правильно понял вопрос - то автор занимается вопросом близким к верстке темы под Joomla.
Для решения проблемы мне пришлось создать свой собственный стиль вывода модуля.
в базовой версии Joomla 1.5(.4) доступны следующие типы показов модулей:
front-end
none
table
horz
xhtml
rounded
outline
back-end
none
xhtml
sliders
tabs
при желании, любой тип показа добавляется своей функцией в формате modChrome_ТИП
пример:
Цитировать
function modChrome_mytype($module, &$params, &$attribs){
   $tmp = $module->content;
   ...
   echo $tmp;
}
все эти обработчики должны быть прописаны в файле /templates/<имя_вашей_темы>/html/modules.php
в темплейте вызов компонента с новый обработчиком вида будет выглядеть следующим образом:
Цитировать
<jdoc:include type="modules" name="<имя_позиции>" style="mytype"/>
*

Be(ool

  • Захожу иногда
  • 59
  • 5 / 0
очередное недоразумение, с которым столкнулся в Joomla,  - "спроектировано, но не используется"

в mod_mainmenu.php есть строчка

Код
require(JModuleHelper::getLayoutPath('mod_mainmenu'));

статический метод getLayoutPath имеет второй необязательный параметр - имя пользовательского шаблона, по умолчанию равен default. если его указать, то будет подключен свой шаблон в mod_mainmenu/tmpl/

Решается просто: в mod_mainmenu.xml добавляется параметр

Код
<param name="template" type="text" default="" size="15" label="template" description="Template" />

и в коде самого модуля присваивается пользовательский шаблон
Код
$utemplate = $params->get('template', 	'default');
require(JModuleHelper::getLayoutPath('mod_mainmenu',$utemplate));
в итоге получается модуль с возможностью выбора шаблона
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Тему считаю не раскрытой !  аналогичная проблема как у создателя темы... Как же всётаки поменять.. сделал как предлагается в документации создал папку /templates/мой шаблон/html/mod_mainmenu/default.php но что там менять так и не понял.. Хоть ткните где можно посмотреть что всё это означает ((((
*

Be(ool

  • Захожу иногда
  • 59
  • 5 / 0
Тему считаю не раскрытой !  аналогичная проблема как у создателя темы... Как же всётаки поменять.. сделал как предлагается в документации создал папку /templates/мой шаблон/html/mod_mainmenu/default.php но что там менять так и не понял.. Хоть ткните где можно посмотреть что всё это означает ((((




Да все что угодно, например так
Код
			$items = &JSite::getMenu();
$rows = $items->getItems('menutype', <твой тип меню>);
foreach($rows as $row) {
                                                     ...
                                                }
*

alexglue

  • Новичок
  • 4
  • 0 / 0
В 1,5 со стандартным mod_mainmenu - никак, не трогая ядро

Да уж конечно, никак. Не знаете, хоть бы не были так уверены.

Я тоже долго искал реализацию, потом плюнул и сделал так:

Нужно было выводить меню в следующем виде:

Код: html4strict
        <ul id="menu">
          <li id="active"">
                <div class='left'></div>
                <div class='right'></div>
                <div class='center'><div class='tab-caption'><a class='bottom' href="#">Контакты</a></div></div>
            </li>
            <li class="nav-tab">
              <div class='left'></div>
                <div class='right'></div>
                <div class='center'><div class='tab-caption'><a class='bottom' href="#">Статьи</a></div></div>               
          </li>
        </ul>

В файл: html/modules.php шаблона я написал:
Код: php
function modChrome_hormenu($module, &$params, &$attribs){
jimport('joomla.html.pane');
$tmp = $module->content;
$tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "function modChrome_hormenu($module, &$params, &$attribs){
jimport('joomla.html.pane');
$tmp = $module->content;
$tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "$1<div class='left'></div><div class='right'></div><div class='center'><div class='tab-caption'>$2$3</li>", $tmp);
echo $tmp;
}
<div class='left'></div><div class='right'></div><div class='center'><div class='tab-caption'>php$3</li>", $tmp);
echo $tmp;
}

Затем из index.php шаблона вызвал:

Код: html4strict
<jdoc:include type="modules" name="menu-hor" style="hormenu" />

?

ПРОФИТ!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
alexglue
такие замены явно на пользу не кому не пойдут :)
*

alexglue

  • Новичок
  • 4
  • 0 / 0
alexglue
такие замены явно на пользу не кому не пойдут :)


Ну приведите пример, если можете, как по Вашему это может быть использовано во вред?
Я лично ничего опасного придумать не смог. Хотя я конечно не гуру = )

Кроме того, это всего лишь простейшее решение проблемы, всегда можно написать более жесткую регулярку.
*

Skit

  • Захожу иногда
  • 75
  • 5 / 0
  • Нет смысла в том, что ты делаешь!
очередное недоразумение, с которым столкнулся в Joomla,  - "спроектировано, но не используется"
в mod_mainmenu.php есть строчка
Код
....

Спасибо! то, что доктор прописал.
*

Арчик

  • Захожу иногда
  • 281
  • 32 / 0


Да все что угодно, например так
Код
			$items = &JSite::getMenu();
$rows = $items->getItems('menutype', <твой тип меню>);
foreach($rows as $row) {
                                                     ...
                                                }

+1 Ваще молодчик )))) ПасЫбо...
Я твоим способом вывел крайние разделители и разделители между пунктами меню:
Код: php
function modChrome_hormenu($module, &$params, &$attribs){
    jimport('joomla.html.pane');
    $tmp = $module->content;
    $tmp = preg_replace("/(<ul.*>)(.*)(<\/ul>)+/Uims", "<div class='arrow-menu-end'></div>$0<div class='arrow-menu-end'></div>", $tmp);
    $tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "function modChrome_hormenu($module, &$params, &$attribs){
    jimport('joomla.html.pane');
    $tmp = $module->content;
    $tmp = preg_replace("/(<ul.*>)(.*)(<\/ul>)+/Uims", "<div class='arrow-menu-end'></div>$0<div class='arrow-menu-end'></div>", $tmp);
    $tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "$1<div class='arrow-menu'></div>$2$3", $tmp);
    echo $tmp;
}<div class='arrow-menu'></div>php$3", $tmp);
    echo $tmp;
}
Далее дело техники CSS

Но у меня вопрос: как сюды вставить счетчик для того чтобы всунуть определенный слой (div), после предположим первого пункта списка. ?
Например:
вставим слово hello в 3 пункт меню вместо содержимого
Код: php
$tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "$tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "$1hello", $tmp,3);hello", $tmp,3);
в этом случае вставка произойдет во все первые 3 пункта, а мне нужно чтоб только после третьего ...
« Последнее редактирование: 13.10.2010, 17:42:00 от Арчик »
Компьютер-это вещь для решения проблем, которых у вас не было до его появления...
*

itmgk

  • Новичок
  • 2
  • 0 / 0
всем привет
подскажите, как сделать, чтобы линк на текущую страницу не был линком
к примеру, открыта главная страница сайта
чтобы линк "Главная" не был ссылкой, а был просто текстом
спасибо.
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Полезная ветка щас сам с таким столкнулся, понял что это модуль, надо копирнуть его и перебить. Не совсем просто честно говоря!
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

kolik

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Здравствуйте всем!
Изменил вид своего меню таким способом
Код
function modChrome_hormenu($module, &$params, &$attribs){
jimport('joomla.html.pane');
$tmp = $module->content;
$tmp = preg_replace("/(<li.*>)(.*)(<\/li>)+/Uims", "$1<div class='left'><div class='right'>$2</div></div>$3</li>", $tmp);
echo $tmp;
}

Все отлично заработало!
Получил меню вида
Код
<ul>
   <li>
      <div class="left">
         <div calss="right">
            <a> </a>
         </div>
      </div>
   </li>
</ul>

Осталась одна большая проблема, первый пункт меню и последний не становятся активными, ко всем остальным добавлется суффикс "current"! Что делать, может кто то сталкивался с таким буду очень признателен
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где и как изменить привязку модуля к пункту меню в базе данных стоит 1.5.22 ?

Автор lukum

Ответов: 10
Просмотров: 7159
Последний ответ 12.05.2017, 08:35:49
от KKAAZZOO
Как удалить циклические ссылки из меню модуль jv_menus?

Автор Анатолий115

Ответов: 0
Просмотров: 4791
Последний ответ 06.10.2016, 14:36:19
от Анатолий115
Изменить размер или расположение модуля главного меню

Автор СергейZ

Ответов: 5
Просмотров: 2895
Последний ответ 06.04.2016, 08:06:17
от СергейZ
Вставить HTML код в меню

Автор Okulo

Ответов: 1
Просмотров: 1794
Последний ответ 25.11.2015, 11:03:01
от Shustry
Модуль видео скрывает за собой выпадающее меню

Автор pride777

Ответов: 0
Просмотров: 1628
Последний ответ 06.02.2015, 01:37:31
от pride777