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

Snakey

  • Новичок
  • 1
  • 0 / 0
Как вывести дату ?
« : 12.09.2012, 11:52:55 »
Доброго времени суток.

Использую Joomla 2.5.6
шаблон Beez_20


Реализую раздел о тендерах на сайте.
Создал категорию "тендер" и в ней 2 подкатегории - текущие и прошедшие.

У меня есть пункт главного меню - которое выводит список всех категорий - из категории "Тендер" в виде списка ссылок.




Если кликнуть по ссылке - то выводится материал категории в таблице которая имеет поля "Заголовок" "Автор" "Хиты"
Я бы хотел добавить туда поле которое выводило бы еще и дату создания.
За формирование таблицы как я понял отвечает \www\components\com_content\views\category\tmpl\default_articles.php

Еще одну колонку я добавил - а вот как вывести туда дату создания ?? В ПХП не силен. Если можно с подробными комментариями чтоб смог разобраться.



Раздел "закупки" и "список категорий" пока тестовые.


Побывал так - но что то не так )

<?php if ($date = $this->params->get('list_show_date')) : ?>
<td class="list-hello">   
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php echo JText::sprintf('COM_CONTENT_', $date); ?>

</td>
Отображается только одна дата. Видимо дата должна считываться как то в цикле опрашивая каждый материал.

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

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

JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::core();

// Create some shortcuts.
$params = &$this->item->params;
$n = count($this->items);
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
$date = "created" ;
?>

<?php if (empty($this->items)) : ?>

<?php if ($this->params->get('show_no_articles', 1)) : ?>
<p><?php echo JText::_('COM_CONTENT_NO_ARTICLES'); ?></p>
<?php endif; ?>

<?php else : ?>

<form action="<?php echo htmlspecialchars(JFactory::getURI()->toString()); ?>" method="post" name="adminForm" id="adminForm">
<?php if ($this->params->get('show_headings') || $this->params->get('filter_field')!= 'hide' || $this->params->get('show_pagination_limit')) :?>
<fieldset class="filters">
<?php if ($this->params->get('filter_field')!= 'hide') :?>
<legend class="hidelabeltxt">
<?php echo JText::_('JGLOBAL_FILTER_LABEL'); ?>
</legend>

<div class="filter-search">
<label class="filter-search-lbl" for="filter-search"><?php echo JText::_('COM_CONTENT_'.$this->params->get('filter_field').'_FILTER_LABEL').'&#160;'; ?></label>
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>" />
</div>
<?php endif; ?>



<!-- @TODO add hidden inputs -->
<input type="hidden" name="filter_order" value="" />
<input type="hidden" name="filter_order_Dir" value="" />
<input type="hidden" name="limitstart" value="" />
</fieldset>
<?php endif; ?>

<table class="category">
<?php if ($this->params->get('show_headings')) :?>
<thead>
<tr>
<th class="list-title" id="tableOrdering">
<?php  echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'a.title', $listDirn, $listOrder) ; ?>
</th>

<?php if ($date = $this->params->get('list_show_date')) : ?>
<th class="list-date" id="tableOrdering2">
<?php if ($date == "created") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php elseif ($date == "modified") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.modified', $listDirn, $listOrder); ?>
<?php elseif ($date == "published") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.publish_up', $listDirn, $listOrder); ?>
<?php endif; ?>
</th>
<?php endif; ?>

<?php if ($this->params->get('list_show_author', 1)) : ?>
<th class="list-author" id="tableOrdering3">
<?php echo JHtml::_('grid.sort', 'JAUTHOR', 'author', $listDirn, $listOrder); ?>
</th>
<?php endif; ?>
<?php //вот оно............................................................ ?>
<?php if ($this->params->get('list_show_hits', 1)) : ?>
<th class="list-hits" id="tableOrdering4">
<?php echo JHtml::_('grid.sort', 'JGLOBAL_HITS', 'a.hits', $listDirn, $listOrder); ?>
</th>
<?php endif; ?>

<?php if ($this->params->get('list_show_hits', 1)) : ?>
<th class="list-hello" id="tableOrdering5">
<?php echo ("Дата публикации"); ?>

</th>
<?php endif; ?>
</tr>
</thead>
<?php endif; ?>

<tbody>

<?php foreach ($this->items as $i => $article) : ?>
<?php if ($this->items[$i]->state == 0) : ?>
<tr class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
<?php else: ?>
<tr class="cat-list-row<?php echo $i % 2; ?>" >
<?php endif; ?>
<?php if (in_array($article->access, $this->user->getAuthorisedViewLevels())) : ?>

<td class="list-title">
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid)); ?>">
<?php echo $this->escape($article->title); ?></a>

<?php if ($article->params->get('access-edit')) : ?>
<ul class="actions">
<li class="edit-icon">
<?php echo JHtml::_('icon.edit', $article, $params); ?>
</li>
</ul>
<?php endif; ?>
</td>

<?php if ($this->params->get('list_show_date')) : ?>
<td class="list-date">
<?php echo JHtml::_('date', $article->displayDate, $this->escape(
$this->params->get('date_format', JText::_('DATE_FORMAT_LC3')))); ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('list_show_author', 1)) : ?>
<td class="list-author">
<?php if(!empty($article->author) || !empty($article->created_by_alias)) : ?>
<?php $author =  $article->author ?>
<?php $author = ($article->created_by_alias ? $article->created_by_alias : $author);?>

<?php if (!empty($article->contactid ) &&  $this->params->get('link_author') == true):?>
<?php echo JHtml::_(
'link',
JRoute::_('index.php?option=com_contact&view=contact&id='.$article->contactid),
$author
); ?>

<?php else :?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
<?php endif; ?>
<?php endif; ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('list_show_hits', 1)) : ?>
<td class="list-hits">
<?php echo $article->hits; ?>
</td>
<?php endif; ?>

<?php else : // Show unauth links. ?>
<td>
<?php
echo $this->escape($article->title).' : ';
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = JRoute::_('index.php?option=com_users&view=login&Itemid='.$itemId);
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($article->slug));
$fullURL = new JURI($link);
$fullURL->setVar('return', base64_encode($returnURL));
?>
<a href="<?php echo $fullURL; ?>" class="register">
<?php echo JText::_( 'COM_CONTENT_REGISTER_TO_READ_MORE' ); ?></a>
</td>

<?php endif; ?>



<?php if ($date = $this->params->get('list_show_date')) : ?>
<td class="list-hello">
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php echo JText::sprintf('COM_CONTENT_', $date); ?>

</td>
<?php endif; ?>







</tr>


<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>

<?php // Code to add a link to submit an article. ?>
<?php if ($this->category->getParams()->get('access-create')) : ?>
<?php echo JHtml::_('icon.create', $this->category, $this->category->params); ?>
<?php  endif; ?>

<?php // Add pagination links ?>
<?php if (!empty($this->items)) : ?>
<?php if (($this->params->def('show_pagination', 2) == 1  || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') > 1)) : ?>
<div class="pagination">

<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>

<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<?php endif; ?>
</form>
<?php  endif; ?>

« Последнее редактирование: 12.09.2012, 12:09:20 от Snakey »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: Как вывести дату ?
« Ответ #1 : 12.09.2012, 21:33:57 »
Она и так там выводится . В настройках пункта меню надо разрешить вывод даты и все .
А в коде вывод даты уже предусмотрен :
Код
<?php if ($date = $this->params->get('list_show_date')) : ?>
<th class="list-date" id="tableOrdering2">
<?php if ($date == "created") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php elseif ($date == "modified") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.modified', $listDirn, $listOrder); ?>
<?php elseif ($date == "published") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.publish_up', $listDirn, $listOrder); ?>
<?php endif; ?>
</th>
<?php endif; ?>
Ответы на вопросы по CSS . Откройте для себя Firebug
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести все категории VirtueMart 3 второго уровня списком?

Автор Damarkuzz

Ответов: 0
Просмотров: 2047
Последний ответ 06.07.2020, 18:58:23
от Damarkuzz
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 2855
Последний ответ 14.12.2019, 20:19:21
от Gromz
Как вывести данные из stdClass Object в Joomla?

Автор specialist-web

Ответов: 7
Просмотров: 3283
Последний ответ 06.05.2019, 18:24:37
от specialist-web
Код вывести название страницы

Автор qvaro

Ответов: 1
Просмотров: 1820
Последний ответ 24.11.2018, 18:33:07
от beliyadm
Как к Категории вывести дополнительные поля?

Автор biosila9991

Ответов: 0
Просмотров: 1122
Последний ответ 01.04.2016, 16:59:26
от biosila9991