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

Max100

  • Новичок
  • 1
  • 0 / 0
Использование BotGPT
« : 01.04.2023, 20:58:03 »
Здравствуйте!
Решил проверить бот на написание кода. Задал вопрос: напиши плагин связывания зависимых атрибутов со свободными атрибутами в JoomShopping.
Ответ:
Код
<?php
defined('_JEXEC') or die('Restricted access');

class plgSystemJoomshoppingdependentattributes extends JPlugin {

    function onAfterDisplayAttribute($product, $attribute) {
        $template = $this->params->get('template', ''); // получаем шаблон атрибута из настроек плагина

        $dependent_attributes = array();
        foreach ($product->getDependentAttributes() as $attr) {
            $dependent_attributes[] = $attr->attr_id;
        }

        foreach (explode(',', $template) as $attr_id) {
            $attr_id = trim($attr_id);
            if (!in_array($attr_id, $dependent_attributes)) {
                $attr_name = JTable::getInstance('attribute', 'jshop');
                $attr_name->load($attr_id);
                $product->attributes[] = array(
                    'id' => $attr_id,
                    'name' => $attr_name->getAttributeLang('name', $_SESSION['languages_id']),
                    'value' => '',
                    'input' => $this->renderInput($product, $attr_id),
                    'type' => $attr_name->type
                );
            }
        }

        return $attribute;
    }

    function renderInput($product, $attribute_id) {
        $value = '';
        foreach ($product->attributes as $attr) {
            if ($attr['id'] == $attribute_id) {
                $value = $attr['value'];
                break;
            }
        }

        $input = '';
        $attr = JTable::getInstance('attribute', 'jshop');
        $attr->load($attribute_id);
        switch ($attr->type) {
            case 'input':
                $input = '<input type="text" name="attr['.$attribute_id.']" value="'.$value.'" />';
                break;
            case 'textarea':
                $input = '<textarea name="attr['.$attribute_id.']">'.$value.'</textarea>';
                break;
            case 'select':
                $options = '';
                $attr_vals = $attr->getAttributeValues($_SESSION['languages_id']);
                foreach ($attr_vals as $val) {
                    $options .= '<option value="'.$val->id.'" '.($val->id==$value?'selected="selected"':'').'>'.$val->getAttributeValueLang('name').'</option>';
                }
                $input = '<select name="attr['.$attribute_id.']">'.$options.'</select>';
                break;
            case 'radio':
                $options = '';
                $attr_vals = $attr->getAttributeValues($_SESSION['languages_id']);
                foreach ($attr_vals as $val) {
                    $options .= '<input type="radio" name="attr['.$attribute_id.']" value="'.$val->id.'" '.($val->id==$value?'checked="checked"':'').'/> '.$val->getAttributeValueLang('name').' ';
                }
                $input = $options;
                break;
            case 'checkbox':
                $options = '';
                $attr_vals = $attr->getAttributeValues($_SESSION['languages_id']);
                $value_arr = explode(',', $value);
                foreach ($attr_vals as $val) {
                    $options .= '<input type="checkbox" name="attr['.$attribute_id.'][]" value="'.$val->id.'" '.(in_array($val->id, $value_arr)?'checked="checked"':'').'/> '.$val->getAttributeValueLang('name').' ';
                }
                $input = $options;
                break;
            default:
                break;
        }

        return $input;
    }

}

Комментарий бота: Данный плагин будет связывать зависимые атрибуты со свободными атрибутами на странице товара в магазине, в соответствии с шаблоном из настроек плагина. При выборе зависимого атрибута будет автоматически обновляться соответствующий свободный атрибут.

Прошу спецов прокомментировать
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Использование BotGPT
« Ответ #1 : 02.04.2023, 06:02:55 »
Прошу спецов прокомментировать
Его код бред! Купите готовое и сравните - JoomShopping Addons: Display Free attributes for Attributes

И одним плагином тут вопрос не решишь, нужен аддон.

Вот как раз комментарии, почитайте и сделайте выводы...
https://yandex.ru/search/?text=chatgpt+4+%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE+%D0%BB%D0%B8+%D0%B4%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%82%D1%8C&lr=213&clid=2028026&src=suggest_Nin
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Re: Использование BotGPT
« Ответ #2 : 02.04.2023, 19:09:11 »
Ну не стоит так недооценивать, тут правильнее называть какое тз, такой и результат
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Использование BotGPT
« Ответ #3 : 02.04.2023, 19:15:19 »
Ну не стоит так недооценивать, тут правильнее называть какое тз, такой и результат
Думаю для человека (хорошего программера) такого ТЗ было бы достаточно.

Вижу здесь куски кода надёрганные из интернета, в частности - Разные типы свободных атрибутов...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Использование в характеристиках тэгов

Автор Sergey2

Ответов: 3
Просмотров: 1513
Последний ответ 30.06.2012, 12:24:53
от sergoguga