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

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Нужно получить в модуле алиас текущего раздела/категории. Существует глобальная переменная или массив, позволяющая их вывести (чтобы не делать новый запрос)?
Также интересует механизм запросов - нужно сделать свою выборку с базы и получить массив через mysql_fetch_array. Какой функцией оптимальнее задавать запросы в Joomla 1.5?
Спасибо.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот просто выборка данных:
Код: php
$db = & JFactory::getDBO();
$db->setQuery('select * from #__sections');
$rows = $db->loadObjectList();

Вот тебе одиночное значение:
Код: php
$db = & JFactory::getDBO();
$db->setQuery('select alias from #__sections where id = ' . $id);
$alias = $db->loadResult();
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Спасибо, с запросом разобрался!
Касательно $id - эта переменная только для примера? У меня в модуле она пуста.
Нужно хоть один глобальный идентификатор текущей категории
« Последнее редактирование: 18.05.2009, 23:44:09 от mijsvit »
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
аналогичный вопрос. Модифицию модуль newsflash, он упорно не желает выводить свой заголовок.
Решил взять заголовок категории. Вот запрос который там есть:

Код
$query = 'SELECT a.*,' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' ) ' .
' AND (a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND cc.id = '. (int) $catid .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY a.ordering';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();

return $rows;


Какой запрос мне нужно дописать чтобы получить название текущей категории?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
таблица категорий в этом запросе уже подключена, связь (AND cc.id = '. (int) $catid .) на месте, так что просто брать cc.title и выводить
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
так, но на выходе у нас $rows. как с него тогда правильно вытянуть cc.title ?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
так, но на выходе у нас $rows. как с него тогда правильно вытянуть cc.title ?
foreach ($rows as $row) {
echo 
$row->cat_title;
}

но обязательно в самом селекте делайте алиас для заголовка категории (у меня в примере cat_title, ибо у нас в нескольких таблицах получается поле title)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
что-то не так.. переменная пустая. мож неправильно алиас прицепил?! скиньте плиз строку с кодом
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
скиньте плиз строку с кодом
не уж, это вы показывайте ваш код :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
я толком синтаксиса не знаю) экспериментирую:) потомувидимои не получается. подскажите плз как правильно алиас прицепить) напишите плз)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
SELECT id AS catid - это алиас данного поля (когда в выбираемых таблицах встречается несколько одинаковых названий)
INNER JOIN #__categories AS cc ON cc.id = a.catid - это подключение с левой стороны дополнительной таблицы к запросу
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Добавил - вообще вся инфа модуля не выводится. Видимо снова я чёт не то прописал в запрос crazy! Вот что вышло :

Код
$query = 'SELECT a.*,' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
                       
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
                        ' INNER JOIN #__categories AS cc ON cc.title = a.cattitle' .
                        ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .


' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' ) ' .
' AND (a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND cc.id = '. (int) $catid .
                        ' AND cc.title = '. $cattitle .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY a.ordering';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();

return $rows;

Ух и поддастал я уже наверное:)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
1 - два раза подключена таблица категорий (убери одну строку)
INNER JOIN #__categories AS cc ON cc.id = a.catid
2 - в SELECT нет выборки данных из других таблиц, отличных от content (которая с алиасом A)
Код: php
$query = 'SELECT a.*, cc.title AS cattitle, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
                        ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' ) ' .
' AND (a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )' .
' AND cc.id = '. (int) $catid .
                        ' AND cc.title = '. $cattitle .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY a.ordering';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();

return $rows;
вот как то так
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

maximator666

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
супер.спасибо) :D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Параметры материала вызвать в модуле.

Автор SnowB

Ответов: 1
Просмотров: 1759
Последний ответ 07.07.2011, 19:56:32
от Виталик
[Решено] Как в модуле узнать его заголовок.

Автор Виталик

Ответов: 0
Просмотров: 1601
Последний ответ 08.01.2011, 18:47:32
от Виталик
Установить hook на запросы к БД

Автор enshtein

Ответов: 21
Просмотров: 4733
Последний ответ 03.09.2009, 13:32:03
от Physicist
Секция <head> в модуле

Автор salikoff

Ответов: 10
Просмотров: 2602
Последний ответ 08.05.2009, 01:35:46
от userxp
По содержимому или META статьи в одном модуле -> отобразить статью с теми же META или содержимым в д

Автор Sergei_Shablovsky

Ответов: 0
Просмотров: 1580
Последний ответ 09.02.2009, 09:07:43
от Sergei_Shablovsky