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

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Доброго времени суток форумчане!Необходима помощь по доработке плагина joomirseopagination, плагин добавляет # страницы к title. Мне необходимо сделать чтоб плагин добавлял номер страницы в описание.Код плагина
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        if(JRequest::getVar('start')){
        $title = $current." # ".JRequest::getVar('start');
        $document->setTitle($title);
       
        }
        $title_h1 = $title;
       
    }
}
И еще хотелось-бы вывести номер страницы в отдельную переменную и добавлять ее к h1 в категории
« Последнее редактирование: 16.03.2023, 07:52:07 от Stasweb »
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #1 : 16.03.2023, 10:07:09 »
попробуйте использовать getDescription/setDescription по аналогии с getTitle/setTitle
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #2 : 16.03.2023, 11:34:02 »
Сделал так
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        $document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "поста";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setDescription($desc);

       
        // $title_h1 = $title;
        }   
       
    }
}
Вроде работает, остался вопрос как добавить в h1
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #3 : 16.03.2023, 11:57:26 »
Код
$document->getDescription();

это получение текущего дескрипшна. если он вам не нужен (вы никуда его не присваиваете), то эту строчку можно убрать.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #4 : 16.03.2023, 12:11:10 »
То-есть для вывода дискрипшена достаточно
Код
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts; 
        $document->setDescription($desc);
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #5 : 16.03.2023, 12:34:49 »
То-есть для вывода дискрипшена достаточно
Код
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts; 
        $document->setDescription($desc);
Если у вас description строится из тайтла, то да. Но в общем случае надо читать текущий description и менять его:
Код
$current_desc = $document->getDescription();
$document->setDescription($current_desc.', бла-бла-бла, всякое разное, купить недорого без регистрации в один клик.');
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #6 : 16.03.2023, 13:18:25 »
к стати не заметил, действительно из тайтла.
Если у вас description строится из тайтла, то да. Но в общем случае надо читать текущий description и менять его:
Код
 $current_desc = $document->getDescription(); $document->setDescription($current_desc.', бла-бла-бла, всякое разное, купить недорого без регистрации в один клик.'); 
не совсем понял, как мне переделать
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        $document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "публикаций";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setDescription($desc);

       
        // $title_h1 = $title;
        }   
       
    }
}
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #7 : 16.03.2023, 13:24:46 »
вы имеете в веду
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
       
        $document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "публикаций";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        //$document->setDescription($desc);
       
       
        $current_desc = $document->getDescription();
        $document->setDescription($current_desc, $desc);

       
        // $title_h1 = $title;
        }   
       
    }
}
Тогда дискрипшен правильный но не добавляет $desc
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #8 : 16.03.2023, 13:44:28 »
setDescription принимает только один параметр - строку, которая станет дескрипшном
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #9 : 16.03.2023, 13:55:40 »
Так вроде работает
Код
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');

class plgSystemjoomirseopagination extends JPlugin
{   
    public function onAfterDispatch()
    {
        $app = JFactory::getApplication();
        if (!$app->isSite()) {
            return;
        }
       
        $document = JFactory::getDocument();
        $sitename = $app->getCfg('sitename');
        $current = str_replace($sitename,"",$document->getTitle());
        $current_ds = str_replace($sitename,"",$document->getDescription());
       
        //$document->getDescription();
       
        if(JRequest::getVar('start')){
        $posts = "публикаций";
        // $title = $current .JTEXT::_('JNEXT')." # ".JRequest::getVar('start')/*." - ".$sitename*/;
        $title = $current." - показанно ".JRequest::getVar('start')." ".$posts;
        $document->setTitle($title);
       
        $desc = $current_ds." Показанно ".JRequest::getVar('start')." ".$posts;
    //  $document->setDescription($desc);
    //    $current_desc = $document->getDescription()."".$desc;
    //  $document->setDescription($current_desc);
        $document->setDescription($desc);

        }   
       
    }
}
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #10 : 16.03.2023, 14:00:39 »
так и оставьте, если работает )
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #11 : 16.03.2023, 14:11:53 »
а что можете посоветовать с h1. Куча дублей получается
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #12 : 16.03.2023, 14:39:55 »
переопределите макет категории и формируйте там h1 как вам необходимо
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #13 : 16.03.2023, 14:49:21 »
Макет переопределен, я думал брать число с JRequest::getVar('start') в пагинации и добавлять к заголовку, допустим
Код
$title_h1 = JRequest::getVar('start');
и переменную $title_h1добавить к заголовку  но так не работает
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Плагин joomirseopagination доработка
« Ответ #14 : 16.03.2023, 14:52:50 »
Примерно так и надо. Где-то ошибка, раз не работает.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Плагин joomirseopagination доработка
« Ответ #15 : 16.03.2023, 15:00:33 »
Попробую разобраться
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу разобраться как в админке заставить работать свой плагин

Автор kkmspb

Ответов: 3
Просмотров: 1927
Последний ответ 02.09.2024, 11:35:25
от kkmspb
Не работает плагин на хостинге

Автор a7951396

Ответов: 3
Просмотров: 2644
Последний ответ 29.11.2023, 17:56:49
от a7951396
Пробовали антиспам плагин akismet? Или как боретесь со спамом

Автор falkas

Ответов: 4
Просмотров: 1999
Последний ответ 23.05.2020, 18:43:03
от Mik Foxi
Пишу плагин подмены города, как правильнее сделать?

Автор d0ublezer0

Ответов: 6
Просмотров: 1660
Последний ответ 03.12.2019, 17:52:51
от dm-krv
Плагин дебаггер

Автор ADM1NZ

Ответов: 5
Просмотров: 1125
Последний ответ 28.11.2019, 14:58:40
от AlekVolsk