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

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Ребят, вот задумался о реализации двустороннего добавления Related Item. Короче под этим я подоразумеваю следующую фишку: когда админ добавляет Related Item, то и  редактируемый Item ТАКЖЕ становится Relat'ным по отношению к добавленному. Удобство в том чтобы не делать лишнюю работу. Да по возможности вкл/выкл этой опции.

Тока покапавшись в в admin\elements\relateditems\relateditems.php

Подозреваю что установка происходит в function decodeXML. Кто как считает, может общими усилиями?
« Последнее редактирование: 20.10.2010, 20:35:53 от delames »
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Помочь ничем не могу, но сказать что это правильная мысль - это могу : )
Такой плагин реализован во Флекси.
Сразу скажу некоторые недостатки, которые могут быть. Впрочем, это и к нынешнему, наверное, может относиться (давно зуу не трогал).
Приходится иметь дело с огромным списком материалов (если, конечно, их много на сайте)
+
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Приходится иметь дело с огромным списком материалов (если, конечно, их много на сайте)

Есть немного.. Но спасает хоть как-то фильтр. А вот назначать одно и тоже в Related - вот это большой недостаток.) Хотя по логике вещей, если он ей релейтный зн и она ему такова-же)
*

lovec

  • Захожу иногда
  • 66
  • 0 / 0
а когда несколько тыщ статей? то же ковыряться и вспоминать какая релейтная? Вообще это бредовый механизм. Не доделанный точнее
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
ну вот вы не видите логики, а я вижу :)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Немного по другому решил эту проблему - способ кастыльный :)

Создал отдельную таблицу
jos_zoo_item_separated
Код
    id	                int(11) unsigned Автоматическое приращение	 
    item_id         int(11)
    application_id int(11)
    identifier         varchar(255)
    value         varchar(255)
    text         text
тут еще индексы добавьте


в класс ItemTable добавил новый метод
Код: php
    function saveSaparatedData($item, $identifier, $data) {

        $db = & JFactory::getDBO();
       
        $sql = 'DELETE FROM `#__zoo_item_separated` WHERE (
            `identifier` = "'.$identifier.'" AND
            `application_id` = "'.$item->application_id.'" AND
            `item_id` = "'.$item->id.'"
        )';
        $db->setQuery($sql);
        $db->query();
       
        if (count($data) > 0) {
            foreach ($data as $key=>$val) {
                if (strlen($val['value']) > 0 || strlen($val['text']) > 0) {
                    $obj = new stdClass;
                    $obj->item_id = $item->id;
                    $obj->application_id = $item->application_id; 
                    $obj->identifier = $identifier; 
                    $obj->value = $val['value']; 
                    $obj->text = $val['text'];
                    $db->insertObject('#__zoo_item_separated', $obj);
                } 
            }
        }
    }


при сохранении в этом же классе
Код: php
    public function save($object) {

...
        foreach ($object->getElements() as $id => $element) {
...
            if ($element->getConfig()->get('separated', 0) == '1') {
                $this->saveSaparatedData($object, $element->identifier, $element->getSeparateData());
            }
        }
...

   }

Чтобы не нарушить баланса сил в природе, добавил в абстрактном классе Element
Код: php
    public function getSeparateData() {
        return array();
    }


Теперь для любого элемента добавляем в параметры
Код: xml
        <param name="separated" type="radio" default="0" label="Separate table" description="Save data in separate table">
            <option value="0">No</option>
            <option value="1">Yes</option>
        </param>

+ метод, который вернет данные для записи в таблицу (это пример для relateditems.php)
Код: php
    function getSeparateData() {
        $items = $this->_getRelatedItems();
        $values = array();
        foreach($items as $item) {
            $values[] = array(
                'value' => $item->id,
                'text' => ''
            );
        }
        return $values;
    }

---------------
что происходит тут... ?
Во время сохранения проверяется значение конфига элемента "separated", если оно равно 1, то данные копией сохраняются в новую таблицу.
Затем по этой таблице можно делать выборки по различным полям, и вытаскивать элементы каталога. (через join)

Минусов у метода тьма
 - много хламу в одной таблице
 - нужно менять много файлов ядра Zoo
 - работает только для новых элементов каталога (или пересохранять старые)
 - нет рализации для фронта (делается уже в зависимости от задачи ручками)
 - мне самому не очень нравиться, но быстро костыль

Плюсы тоже есть
 - реализвать сортировки, фильтры без больших нагрузок на php и mysql
 - выборки элементов по определнным полям
 - элементы реально связываются


В принципе тоже самое уже реализованое при индексации поиска (#_zoo_search_index). но меня в нем много не устраивает: данные фильтруются (фильтры переписывать как то не очень), не все элементы туда попадают), таблица активна используется для поиска - пусть для него и остается.

----------------------------------------------------------------------------------------
Думаю люди, знакомые с кодом Zoo, Joomla и php как таковым поймут что к чему.


*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Чет я вообще в ступоре. ^-^ Да логика есть во всем. Ну вот первое чтобы я добавил так это чекбоксы к итемам. Чтоб чел ввел в фильтр "секс" потом CheckAll и Добавить. Ато по одному тыкаться и ждать загрузки окна тож время. Ну и вот плюс сквозняк (сабж)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Related items с двусторонним сохранением+Выбор катал

Автор -Dima-

Ответов: 73
Просмотров: 20964
Последний ответ 29.08.2015, 19:15:24
от Vahan
Кракозябры в описании Item Zoo

Автор 7ssoft

Ответов: 4
Просмотров: 1507
Последний ответ 15.01.2015, 18:03:52
от 7ssoft
ZOO как сделать автоматическое добавление Item в Frontpage?

Автор d91me

Ответов: 33
Просмотров: 9308
Последний ответ 29.12.2014, 11:44:46
от dmi_alex
В zoo глючит кнопка Related Products.

Автор Vas80

Ответов: 0
Просмотров: 1422
Последний ответ 15.10.2014, 14:14:00
от Vas80
Вывод item-ов из нескольких категорий

Автор No_Mosk

Ответов: 0
Просмотров: 1261
Последний ответ 24.06.2014, 22:51:46
от No_Mosk