Новости 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

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

devirus

  • Захожу иногда
  • 140
  • 6 / 0
Допустим, есть класс, там метод.
Там определяется переменная $orderbyq.
Затем вызывается плагин, но нужная переменная туда не передается. Возможно ли ее переопределить в плагине, чтобы она переопределилась и в родителе?

Проще будет в коде понять :)

controllers/category.php
Код
class JshoppingControllerCategory extends JControllerLegacy{
  function view(){
    $orderbyq = getQuerySortDirection($order, $orderby);
    $dispatcher->trigger( 'onBeforeDisplayCategory', array(&$category, &$sub_categories) );
    ...
  }
}

плагин
Код
function onBeforeDisplayCategory(&$category, &$sub_categories){
    $orderbyq = "DESC";
}

такой смысл в общем... и контроллер дальше работает с переопределенной переменной.

Так возможно или если в плагин не передается нужных переменных - придется вызывать его позже и дублировать там код контроллера с новой переменной?
« Последнее редактирование: 21.06.2014, 17:34:21 от devirus »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сменить значение переменной
« Ответ #1 : 20.06.2014, 23:13:00 »
к сожалению (или к счастью, смотря с какой стороны смотреть), переопределить в плагине можно только то, что ему дают переопределить
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Сменить значение переменной
« Ответ #2 : 20.06.2014, 23:44:31 »
Прикольно. Ну попробуйте
Код: php
$orderbyq = $dispatcher->trigger( 'onBeforeDisplayCategory', array(&$category, &$sub_categories) );
var_dump($orderbyq);
Код: php
function onBeforeDisplayCategory(&$category, &$sub_categories){
   return "DESC";
}
Может и сработает.
Только чем это будет отличаться от прямого присвоения?
Код: php
$orderbyq = "DESC";
Только тем, что сгоняли в соседний город, чтобы переобуться?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сменить значение переменной
« Ответ #3 : 21.06.2014, 00:50:29 »
так суть же в том, что менять контроллер нельзя
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

devirus

  • Захожу иногда
  • 140
  • 6 / 0
Re: Сменить значение переменной
« Ответ #4 : 21.06.2014, 12:00:20 »
Да, верно, суть в том чтоб не менять исходный код, а то в прошлый раз кучу всего переправил, теперь обновляться боюсь.

Проблему решил без плагина, в шаблоне, не знаю насколько рационально, но работает :)
Нужна была сортировка "по убыванию цены", "по возрастанию цены", "по новинкам" и "по популярности" в выпадающем селекте.

Код
$mainframe = JFactory::getApplication();
$order = $mainframe->getUserStateFromRequest('order', 'order', $this->config->product_sorting, 'int');
$orderby = $mainframe->getUserStateFromRequest( $context.'orderby', 'orderby', $jshopConfig->product_sorting_direction, 'int');
if ( $order==2 && $orderby==0 ){
    $order = "2_up";
} elseif ( $order==2 && $orderby==1 ){
    $order = "2_down";
};

$selected = "selected=\"selected\"";

Код
<?php if ($this->config->show_sort_product){ ?>
        <select id="order" class="" onchange="if(this.value!='<?php print $order; ?>'){ $_('orderby').value = 0; if(this.value=='2_up'){this.value = 2;$_('orderby').value = 0;}; if(this.value=='2_down'){this.value = 2;$_('orderby').value = 1;}; if(this.value=='3'){$_('orderby').value = 1;}; submitListProductFilters(); }" size="1" name="order">
            <option <?php if($order==6){echo $selected;} ?>value="6">популярности</option>
            <option <?php if($order=="2_up"){echo $selected;} ?>value="2_up">возрастанию цены</option>
            <option <?php if($order=="2_down"){echo $selected;} ?>value="2_down">убыванию цены</option>
            <option <?php if($order==3){echo $selected;} ?>value="3">новинкам</option>
        </select>
<?php } ?>

p.s. еще предстоит переделать подсчет "популярности" исходя не из "хитов", а из реальных продаж за последние X дней.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сменить значение переменной
« Ответ #5 : 21.06.2014, 15:27:13 »
Цитировать
не знаю насколько рационально
делал точно также, в шаблоне. конечно, немного не рационально, но к сожалению, если без хака ядра, то я вижу только такой путь.

Цитировать
еще предстоит...
а оно надо? :) откуда юзеру знать реальные данные? а запросы будут лишние.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

devirus

  • Захожу иногда
  • 140
  • 6 / 0
Re: Сменить значение переменной
« Ответ #6 : 21.06.2014, 17:03:50 »
Цитировать
откуда юзеру знать реальные данные?

оно не ради юзеров :) а ради повышения продаж (реально популярный товар ведь с большей вероятностью купят)...
уже другую логику придумал — по реальным продажам отдельный блок "Хиты продаж", а в популярности надо ограничить хиты за последние X дней (иначе я сам уже несколько сотен хитов накрутил у одного товара пока тестил и его никто не обгонит).
Плюс в идеале хиты считать уникальные, но это уже придирки.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Сменить значение переменной
« Ответ #7 : 21.06.2014, 17:09:37 »
Цитировать
пока тестил и его никто не обгонит
ручками в базе обнови
каждая такая хотелка лишние запросы в базу
потому должен выбирать, а стоит ли?
*

devirus

  • Захожу иногда
  • 140
  • 6 / 0
Re: Сменить значение переменной
« Ответ #8 : 21.06.2014, 17:28:58 »
Цитировать
ручками в базе обнови

Даже если свои хиты почищу. Они не должны накапливаться за всё время существования магазина. Сезонность убивается.
Начали летом, у холодного лимонада хиты идут - все логично, но пришел новый год и у шоколадного деда мороза хиты зашкалили, а летом он так и остался "самым популярным", потому что лимонад уже не может перебить его. Отсюда снижение продаж и лояльности.
Утрировано конечно, но суть такая :)

А если брать хиты за неделю-месяц, то всё супер. Придется жертвовать запросом(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин - Скрывать цены, если товара нет в наличии [Скачать]

Автор kit2m2

Ответов: 8
Просмотров: 2858
Последний ответ 24.01.2020, 11:01:34
от kit2m2
Назначение цены в карточке товара в зависимости от группы пользователей

Автор san_san_ku

Ответов: 16
Просмотров: 1289
Последний ответ 03.10.2019, 19:11:45
от san_san_ku
Вывод цены

Автор mario052

Ответов: 2
Просмотров: 919
Последний ответ 22.03.2018, 17:54:33
от mario052
Рандомная сортировка товаров одного производителя

Автор dvcool

Ответов: 2
Просмотров: 1533
Последний ответ 01.02.2018, 21:30:40
от dvcool
Сортировка товаров по артикулу

Автор lammmer

Ответов: 0
Просмотров: 951
Последний ответ 13.02.2017, 17:54:46
от lammmer