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

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Всем привет!
Столкнулся с проблемой изменения темы письма! Где вообще редактировать это всё? Может кто сталкивался с этим? очень прошу помощи!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
ps_checkout.php
confirmation_email.tpl.php
russian.php
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
russian.php С этим всё понятно.
confirmation_email.tpl.php Здесь вообще ничего не трогаем. Здесь редактируется исключительно тело письма (то что под темой)
ps_checkout.php Здесь самое интересное.

Есть строки:

// Email Addresses for shopper and vendor
      // **************************************
      $shopper_email = $dbbt->f("user_email");
      $shopper_name = $dbbt->f("first_name")." ".$dbbt->f("last_name");

      $from_email = $dbv->f("contact_email");

      $shopper_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false).
                $vendor_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false).

      $shopper_order_link = $sess->url( SECUREURL ."index.php?page=account.order_details&order_id=$order_id", true, false );
      $vendor_order_link = $sess->url( SECUREURL ."index2.php?page=order.order_print&order_id=$order_id&pshop_mode=admin", true, false );

$shopper_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false). - Это тема письма покупателю, её мы не трогаем.

$vendor_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false).  - А это наш заголовок в теме. Как не радактирую его ничего не получается + задваивается почему-то.
Сейчас тема такая: Тема:Информация о покупке Новое сообщениеИнформация о покупке Новое сообщение

Вообще ума не приложу почему задваивается и когда пытаюсь вставить переменную которая указывает метод доставки то она вообще пустая получается. Не выводится ничего. Вставляю просто 'PHPSHOP_INFO_MSG_SHIPPING_METHOD'

Может руки не оттуда?(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Когда клиент потвердил свой заказ (покупку), ps_checkout.php генерирует два практически одинаковых письма, одно - shopper (заказчику, покупателю...), другое - vendor (производителю, продавцу, админу магазина...). Различия между этими письмами - обращение, адрес, ссылки..., вы их видите с префиксом shopper_ либо vendor_.
Так что тут ничего сложного не должно быть. Если заголовок задваивается, значит он так задан в коде, получше ищите. Проверьте в confirmation_email.tpl.php тоже, мало ли, у меня правда он неиграет никакой роли.
И по-моему, ваш ps_checkout.php уже хакали. Что это за пустой запрос
$shopper_subject = $dbv->f("").
$shopper_subject у вас выдает "Новое сообщение о покупке + Стоимость доставки", а $vendor_subject: "Способ доставки + Стоимость доставки", если вы не меняли russian.php.
И должно быть "PHPSHOP_INFO_MSG_SHIPPING_PRICE", нет?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Да. Я его сам хакал, но не сильно  ;)

Всего лишь изменил пару вечещей. В том числе убрал вывод названия магазина, т.к. люди и так знаю с кем они работают. Но это всё мелочи.

Хотелось бы больше конкретики. И ещё. То что генерируется два одинаковых пиьсма это известно, но я разделил это. Сделал отдельное письмо для клиента (в хтмл), а отдельное для админа (в тексте).

И никак не пойму, где ещё генерится может тема. Поиск ничего не даёт и логика тоже...

P.S. Шаблоны писем содержат лишь тело самого письма без темы.
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Решил вопрос.

Закоментил строку ниже

2316   //$headers = "Subject: " . $vendor_subject . "\r\n";

Она отвечает за формирования темы в двух пиьсмах, там же рядом нашёл переменную выводящую ту коннектикацию которая формируется для пиьсма покупателя.

Но отсалься вопрос. Как вставить в тему информацию о доставке. Простая вставки $shipping_method не прокатывает. Выдаёт ссылку на страницу которая создаётся в самом конце оформления заказа.
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Цитировать
Как вставить в тему информацию о доставке. Простая вставки $shipping_method не прокатывает. Выдаёт ссылку на страницу которая создаётся в самом конце оформления заказа.

Что, никто не поможет?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что, никто не поможет?
Какая инфо о доставке нужна? Она уже есть в теле письма, нет?
Код
$shipping_arr = explode("|", urldecode(vmGet($_REQUEST,"shipping_rate_id")) );
$shopper_message .= $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING_LBL',false).":\n";
$shopper_message .= $shipping_arr[1]." (".$shipping_arr[2].")";
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Есть уже... Я прописал эти функции просто в тело письма и они работают.
Информация о доставке: <?php print $order_shipping ?> <?php echo $shipping_info_details ?>

А если и вставить в заголовок письма, то пусто, будто ничего не несут...


Цитировать
Какая инфо о доставке нужна? Она уже есть в теле письма, нет?

Нужно просто указать тип доставки, почтой или курером, но у меня их четрые, поэтому если один тип заработает то и все тоже.
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Могу скинуть ps_checkout.php
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Могу скинуть ps_checkout.php
Давай, скинь.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Может дай мыло?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В личке. Вечером посмотрю.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Усё. Неяк здолеу!)

В общем фишка вот в чём:

$vendor_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER2',false)." - № " . $db->f("order_id"). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false). ":". $db->f(""). " ".$order_shipping = $db->f("shipping_info_details"). " ". $shipping_arr[1];

Это код который отвечает за вывод темы в письме которе уходит конкретно админу, сделать такое же для пиьсма клиенту просто.

Что бы в заголовке темы отображалась инфа о доставке прописываем функцию вывод из базы $shipping_arr[1]
[1] - отвечает за столбик где прописаны наши способы доставки - $shipping_info_details если проще.

Может кому полезно будет!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Слишком много мусора. Вот так, наверное:
$vendor_subject = $VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER2',false)." - № " . $db->f("order_id"). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false). ": ". $shipping_arr[1];
А про $shipping_arr я уже говорил
Она уже есть в теле письма, нет?
Код
$shipping_arr = explode("|", urldecode(vmGet($_REQUEST,"shipping_rate_id")) );
$shopper_message .= $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING_LBL',false).":\n";
$shopper_message .= $shipping_arr[1]." (".$shipping_arr[2].")";
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться