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

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Доброго!
Господа подмогите с задачкой, не могу понять как сделать следующие:

Данно: $uid

                        $db = JFactory::getDbo();
                        $query = $db->getQuery(true);
                        $query
                            ->select($db->quoteName(array('id', 'images', 'created_by', 'title', 'catid')))
                               ->from($db->quoteName('#__content'))
                            ->where($db->quoteName('created_by'). ' = ' . (int) $uid)          // Выбираем по id создателя
                            ->where($db->quoteName('catid'). ' = ' . (int) 72)                    // Далее выбираем в категории с catid = 72;
                            ->order('id DESC');
 
                        $db->setQuery($query);
                        $result2 = $db->loadObjectList();

Все бы хорошо Но
          ->where($db->quoteName('catid'). ' = ' . (int) 72)                    // Далее выбираем в категории с catid = 72;

А мне нужно выбрать из catid 72 и catid 69 одним запросом хочется.

Как тут применить оператор OR - Не выходит.

Свои изречения не выкладываю, дабы не устраивать цирк.

Спасибо.
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #1 : 26.04.2017, 23:13:04 »
 ->where($db->quoteName('catid'). ' IN (72, 69)')
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #2 : 26.04.2017, 23:22:37 »
Спасибо огромное! Пошел портянки коротить.

Подскажите пожалуйста еще такой вопрос.
Зная id материала можно из баз тиснуть все.
Но мне нужна ссылка на материал зная id, catid и.т.д

Как я понимаю вот оно:

JHtml::_('link', JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->language)), htmlspecialchars($article->title, ENT_COMPAT, 'UTF-8'));

Где почитать, чтобы разобраться, что-то не нагуглил.

Спасибо!
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #3 : 27.04.2017, 18:10:13 »
Цитировать
JHtml::_('link', JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->language)), htmlspecialchars($article->title, ENT_COMPAT, 'UTF-8'));
да, так, но перед этим еще нужно
JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #4 : 27.04.2017, 20:00:34 »
Спасибо, разобрался.
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #5 : 27.04.2017, 22:13:47 »
Все же еще вопросик родился.

К той же задачи, выбрать только 3 шт.

Поменял на такое.

                                     $db->setQuery($query,1,3);

Но мне нужно выбрать 3 не с начало таблицы т.е с записи 1
А с конца таблицы двигаясь от последнее записи к первой.

Попробовал на шару так
                                     $db->setQuery($query,-1,3);
и так
                                     $db->setQuery($query,0,3);
Не получилось.

Как можно сделать?
Спасибо.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #6 : 27.04.2017, 22:43:57 »
Код: php-brief
$db->setQuery($query, 0, 3);
Должно работать, ведь
                            ->order('id DESC');
уже стоит.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #7 : 27.04.2017, 23:08:04 »
Да все стоит.
С единичкой работает но, вот что не смог понять.

Вот что происходит.
Если мы говорим выводить один материал.

               $db->setQuery($query,0,1);
Выбирает с конца

Все отлично

               $db->setQuery($query,1,1);

Выбирает с начало но выбирает правильно тоько если находит больше одного совпадения.
Т.е я ищу материал по вышеуказанным условиям, если находиться материалов больше чем один то все путем, если один то не выводит в массив ничего.

Более того:
Если напишим так
               $db->setQuery($query,0,3);
или так
               $db->setQuery($query,1,3);

Все вроде и ничего, но как я понимаю в первом случаи материалы в массиви должны стоять так,

материал 1, материал 2, материал 3

А вот во втором случаи

материал 3, материал 2, материал 1

Но этого не происходит

В обоих случаях порядок такой

материал 1, материал 2, материал 3

Не понимая что-то я

Вот код

               $db = JFactory::getDbo();
               $query = $db->getQuery(true);
               $query
                   ->select($db->quoteName(array('id', 'images', 'created_by', 'title', 'catid', 'introtext')))
                      ->from($db->quoteName('#__content'))
                   ->where($db->quoteName('created_by'). ' = ' . (int) $uid)

                                            ->where($db->quoteName('catid'). ' IN (70, 72)')

                   ->order('id DESC');
 
               $db->setQuery($query,0,1);
               $result2 = $db->loadObjectList();

Спасибо.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #8 : 27.04.2017, 23:37:22 »
Зачем писать так много и сумбурно?
2-й и 3-й аргументы - это OFFSET И LIMIT.
Код: php-brief
$query->order('id DESC');
$db->setQuery($query, 0, 3);
выводит "материал с ID=10, материал с ID=9, материал с ID=8".
Код: php-brief
$query->order('id DESC');
$db->setQuery($query, 1, 3);
выводит "материал с ID=9, материал с ID=8, материал с ID=7".
« Последнее редактирование: 27.04.2017, 23:44:24 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Выборка из базы ->where($db->quoteName + OR
« Ответ #9 : 28.04.2017, 00:26:45 »
Спасибо, разобрался.

OFFSET И LIMIT нормально все работают, я просто к тестовой базе подключен а phpMyAdmin нормальной базы открыт.

Вот дурик  ;D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод из базы в указанном порядке

Автор Mick_20

Ответов: 10
Просмотров: 1134
Последний ответ 05.12.2016, 15:48:20
от Mick_20
[Решено] Как заполнить Тег <select> из базы?

Автор кодик

Ответов: 9
Просмотров: 1856
Последний ответ 03.12.2015, 20:42:46
от кодик
Выборка из нескольких таблиц в компоненте Joomla 3.0

Автор dmuradz

Ответов: 2
Просмотров: 1391
Последний ответ 06.02.2015, 11:00:07
от Aleks.Denezh
[Решено] Выборка ($query->where()) из БД по одному из значений [params]=>{}

Автор ninth

Ответов: 13
Просмотров: 1643
Последний ответ 24.08.2014, 11:09:53
от Aleks.Denezh
[Решено] Выборка данных из БД, ORDERING

Автор maxsl_89

Ответов: 1
Просмотров: 1284
Последний ответ 26.03.2014, 13:27:42
от b2z