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

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Друзья! Нужна помощь... Возможно тема обсуждалась, но я не нашел. Суть вопроса такова, я написал небольшой модуль для админки Joomla 3 серии, он просто выводит иконки со ссылками на некоторые страницы. Я хочу, чтобы после инсталляции этого модуля, он АВТОМАТИЧЕСКИ был опубликован в позиции cpanel админки.

Ковырял инсталляторы, которые это умеют делать, но по аналогии запустить не получилось  >:(

Помогите разобраться  !

вот от чего я отталкиваюсь:

Код
   <subinstall>    
<extension type="module" folder="system" dir="modules/admin/mod_poweradmin" name="mod_poweradmin" client="admin" publish="1" position="icon" title="JSN PowerAdmin Quick Icons" ordering="0" lock="0" />
    </subinstall>

Это прописано в XML инсталлятора.
Как видно, тут и модуль автоматически включаются после установки
« Последнее редактирование: 21.07.2014, 22:08:12 от b2z »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
А через установочный скрипт разве нельзя модуль опубликовать?
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
А через установочный скрипт разве нельзя модуль опубликовать?
Может быть и можно, но как? Можете подсказать?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
ну в XML файле прописываете
Код: xml
	<scriptfile>install_script.php</scriptfile>

Ну а там примерно такое содержимое:
Код: php
...
class YourComponentNameInstallerScript
{
     ...
    //Метод, который исполняется после install/update/uninstall.
    public function postflight($type, $parent)
    {
       ...// здесь запрос в бд на публикацию модуля
    }
    ...
}
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Сделал вот так, но после установки белый экран... Что делаю не так?
И не пойму как еще задать позицию для модуля?

Код
<?php
defined('_JEXEC') or die('Restricted access');

class Mod_CobalticonsInstallerScript
{
public function postflight($type, $parent)
{
parent::postflight($type, $parent);
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->update('#__modules');
$query->set('published = 1');
$query->where("module = 'mod_cobalticons'");
$db->setQuery($query);
$db->execute();
}
}
Скопировал и переделал этот кусок кода с другого инсталлятора
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Убрал parent::postflight($type, $parent); все заработало!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
ага позиция там же прописывается по идее:
$query->set('position = yourposition');
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
И вот вроде бы все отлично, ан нет...

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



Захожу в модуль, никаких настроек привязки к пунктам меню нету, т.к. это модуль админки. Но после сохранения значение меняется на "все" и модуль отображается

В базе данных ничего при этом не изменилось... Куда копать? Где может быть это значение?
« Последнее редактирование: 21.07.2014, 20:24:21 от asmuz »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Как я понимаю, необходимо сделать вставку в таблицу _modules_menu, при этому menuid должно быть 0.
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Как я понимаю, необходимо сделать вставку в таблицу _modules_menu, при этому menuid должно быть 0.
Да, это так... Но как это сделать, ведь модуль создается с порядковым ID, а как его узнать при установке?
Может подскажете как модифицировать этот код?

Код
<?php
defined('_JEXEC') or die('Restricted access');

class Mod_CobalticonsInstallerScript
{
public function postflight($type, $parent)
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->update('#__modules');
$query->set('published = 1');
                $query->set('position = "cpanel"');
$query->where("module = 'mod_cobalticons'");
$db->setQuery($query);
$db->execute();
}
}
« Последнее редактирование: 21.07.2014, 20:55:03 от asmuz »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Сделайте SELECT и найдите id ;)

Код: php
$query->select('id')
    ->from('#__modules')
    ->where('module = ' . $db->quote('mod_cobalticons'));

$moduleId = $db->setQuery($query)
    ->loadResult();
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
все правильно только туда надо инсерт похоже сделать  в _modules_menu всмысле. Кстатии полезная фишка, выложи потом код чтобы копипастить)
« Последнее редактирование: 21.07.2014, 21:11:11 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Дмитрий, понимаю что выгляжу полным нубом (так оно и есть), но не могли бы Вы привести полностью готовый код... Я конечно очень-очень старался, но у меня ничего не получилось. В принципе я понимаю как это работает, но вот синтаксис... Я только начинаю путь PHP девелопера, так что у меня все впереди...
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Добавьте к тому, что у Вас есть.

Код: php
$query->clear();

$query->select('id')
    ->from($db->quoteName('#__modules'))
    ->where('module = ' . $db->quote('mod_cobalticons'));
 
$moduleId = $db->setQuery($query)
    ->loadResult();

$query->clear();

$query->insert($db->quoteName('#__modules_menu'))
    ->columns('moduleid', 'menuid')
    ->values($moduleId, 0);
 
$db->setQuery($query)
    ->execute();
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Дмитрий спасибо ОГРОМНОЕ!  :D :D :D
Все заработало!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка кода вызова модуля в тело шаблона другого модуля

Автор Dorfman

Ответов: 15
Просмотров: 2610
Последний ответ 19.11.2018, 21:45:54
от beliyadm
Проблема с модулем после переноса с локалки на хостинг

Автор master-smeta

Ответов: 8
Просмотров: 2831
Последний ответ 15.11.2018, 16:34:46
от master-smeta
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 2767
Последний ответ 30.01.2018, 22:40:30
от Елeна
Меню схлопывается после перезагрузки страницы

Автор onelawyer

Ответов: 10
Просмотров: 1764
Последний ответ 11.10.2017, 14:50:48
от effrit
Модификация модуля lastet_news вывод времени перед заголовком

Автор Morphiss

Ответов: 9
Просмотров: 2518
Последний ответ 19.04.2016, 12:41:55
от spsyper