Новости Joomla

Joomla 6: Автоматические обновления ядра в Joomla

Joomla 6: Автоматические обновления ядра в Joomla

👩‍💻 Joomla 6: Автоматические обновления ядра в Joomla. В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.❓Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности. Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.🕘 От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.@joomlafeed#joomla #secutiry #jcm

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

akhalex38

  • Захожу иногда
  • 171
  • 1 / 0
Всем привет:)

В общем, друзья, проблема такая:

Установил на денвер Joomla 1.7 и решил установить шаблон для начала (мне его потом редактировать надо). Все бы хорошо, только вот под шаблоном (точнее под шапкой) надпись

Код
Fatal error: Call to a member function getMessageQueue() on a non-object in Z:\home\test1.ru\www\templates\ol_grosse\functions.php on line 11

Естественно лезу в файл, вот что там есть
Код
<?php
defined('_JEXEC') or die('Restricted access'); // no direct access

if (!defined('_ARTX_FUNCTIONS')) {

define('_ARTX_FUNCTIONS', 1);

function artxHasMessages()
{
global $mainframe;
$messages = $mainframe->getMessageQueue();
if (is_array($messages) && count($messages))
foreach ($messages as $msg)
if (isset($msg['type']) && isset($msg['message']))
return true;
return false;
}

function artxUrlToHref($url)
{
$result = '';
$p = parse_url($url);
if (isset($p['scheme']) && isset($p['host'])) {
$result = $p['scheme'] . '://';
if (isset($p['user'])) {
$result .= $p['user'];
if (isset($p['pass']))
$result .= ':' . $p['pass'];
$result .= '@';
}
$result .= $p['host'];
if (isset($p['port']))
$result .= ':' . $p['port'];
if (!isset($p['path']))
$result .= '/';
}
if (isset($p['path']))
$result .= $p['path'];
if (isset($p['query'])) {
$result .= '?' . str_replace('&', '&amp;', $p['query']);
}
if (isset($p['fragment']))
$result .= '#' . $p['fragment'];
return $result;
}

function artxReplaceButtonsRegex() {
return '' .
'~<input\b[^>]*'
. '(?:'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. '(?:\bvalue=(?:"[^"]*"|\'[^\']*\'|[^>\s]*))'
. '|'
. '(?:\bvalue=(?:"[^"]*"|\'[^\']*\'|[^>\s]*))'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. '|'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. ')'
. '[^>]*/?\s*>~i';
}

function artxReplaceButtons($content)
{
$re = artxReplaceButtonsRegex();
if (!preg_match_all($re, $content, $matches, PREG_OFFSET_CAPTURE))
return $content;

$result = '';
$position = 0;
foreach ($matches[0] as $match) {
$result .= substr($content, $position, $match[1] - $position);
$position = $match[1] + strlen($match[0]);
$result .= '<span class="ju-button-wrapper"><span class="l"> </span><span class="r"> </span>'
. preg_replace('~\bclass=(?:"([^"]*\s)?button(\s[^"]*)?"|\'([^\']*\s)?button(\s[^\']*)?\'|button\b)~i',
'class="\1\3button ju-button\2\4"', $match[0]). '</span>';
}
$result .= substr($content, $position);
return $result;
}

function artxPost($caption, $content)
{
$hasCaption = (null !== $caption && strlen(trim($caption)) > 0);
$hasContent = (null !== $content && strlen(trim($content)) > 0);

if (!$hasCaption && !$hasContent)
return '';

ob_start();
?>
<div class="ju-Post">
<div class="ju-Post-tl"></div><div class="ju-Post-tr"></div><div class="ju-Post-bl"></div>
<div class="ju-Post-br"></div><div class="ju-Post-tc"></div><div class="ju-Post-bc"></div>
<div class="ju-Post-cl"></div><div class="ju-Post-cr"></div><div class="ju-Post-cc"></div>
<div class="ju-Post-body">
<div class="ju-Post-inner">

<?php if ($hasCaption): ?>
<div class="ju-PostMetadataHeader">
<h2 class="ju-PostHeader">
<?php echo $caption; ?>

</h2>

</div>

<?php endif; ?>
<?php if ($hasContent): ?>
<div class="ju-PostContent">

<?php echo artxReplaceButtons($content); ?>

</div>
Дальше я думаю уже не нужно.

Так, Google в помощь: нашел на этом форуме что-то похожее с 1.6, указанные действия не привелик  желаемому, цитирую что предлагают здесь http://joomlaforum.ru/index.php/topic,160787.0.html
Цитировать
Проблема решена
Ищем в файле function.php текст  global $mainframe; $messages = $mainframe->getMessageQueue();

и меняем на $messages = JFactory::getApplication()->getMessageQueue();
Миграция шаблонов siteground 1.5 на 1.6

1.Нужно найти в файлах templates.php и index.php
 текст
 echo $mainframe->getCfg(‘sitename’) ;

зменить на
 $app = &JFactory::getApplication();
 echo $app->getCfg(‘sitename’);

Спасибо, надеюсь на помощь
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Re: Проблема с установкой шаблона
« Ответ #1 : 18.05.2012, 13:21:58 »
А почему ставите версию 1.7?
Эта промежуточная версия движка.
Ставьте актуальную на сегодня версию 2.5.4 и на ней тренируйтесь!
*

akhalex38

  • Захожу иногда
  • 171
  • 1 / 0
Re: Проблема с установкой шаблона
« Ответ #2 : 18.05.2012, 13:28:28 »
Решил

Цитировать
Замени указанную строку;
$mainframe->getMessageQueue();

на
JFactory::getApplication()->getMessageQueue();

Источник http://www.utgarda.ru/index.php?option=com_kunena&func=view&catid=10&id=100&Itemid=62

Всем спасибо!

Ок, буду переходить)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На локал сервере страницы сайта без шаблона, CSS и картинок

Автор Fati

Ответов: 0
Просмотров: 698
Последний ответ 15.06.2025, 11:57:45
от Fati
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 4284
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 30821
Последний ответ 02.02.2020, 22:28:15
от AlinaBut
Проблема с доступом к шаблону сайта

Автор thas

Ответов: 4
Просмотров: 4122
Последний ответ 08.11.2019, 19:55:23
от stendapuss
Ошибка при установке шаблона - Fatal error: Call to a member function setDebug() on a non-object in

Автор Mirotvoretz

Ответов: 33
Просмотров: 69048
Последний ответ 11.11.2018, 13:22:26
от vik38