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

SmilingBull

  • Новичок
  • 4
  • 0 / 0
  • и смех, и грех ...
Добрый день!
Ситуация такая: по умолчанию в aiContactSafe существует автозаполнение поля на имя пользователя Joomla и Емайл пользователя Joomla

Хочу туда добавить еще Адрес1, который располагается в дополнительных сведениях о профиле.
Нашел в файлике  administrator\components\com_aicontactsafe\views\fields\view.html.php  код
Код: php-brief
// Joomla User name
$txtSelect = new stdClass;
$txtSelect->name = JText::_('COM_AICONTACTSAFE_JOOMLA_USER_NAME');
$txtSelect->type = 'UN';
$select_combo[] = $txtSelect;
// Joomla User email
$txtSelect = new stdClass;
$txtSelect->name = JText::_('COM_AICONTACTSAFE_JOOMLA_USER_EMAIL');
$txtSelect->type = 'UE';
$select_combo[] = $txtSelect;
добавил по образу и подобию
Код: php-brief
               // Joomla User address1 - ЭТОТ РАЗДЕЛ ДОБАВИЛ САМ
$txtSelect = new stdClass;
$txtSelect->name = JText::_('COM_AICONTACTSAFE_JOOMLA_USER_ADDRESS');
$txtSelect->type = 'UA';
$select_combo[] = $txtSelect;
         
Нашел в файлике components\com_aicontactsafe\views\message\view.html.php  код
Код: php-brief
if ($this->_user_id > 0 && strlen(trim($field->auto_fill)) > 0) {
switch($field->auto_fill) {
case 'UN' :
$postData_field_value = $joomla_user_name;
break;
case 'UE' :
$postData_field_value = $joomla_user_email;
break;
case 'UA' :
$postData_field_value = $joomla_user_address1;
break;
}
}
 

и добавил требуемый адрес

в этом же файле есть код
Код: php-brief
// get user informations
if ($this->_user_id > 0) {
$user = & JFactory::getUser();
$joomla_user_name = $user->get('name');
$joomla_user_email = $user->get('email');
$joomla_user_address1 = $user->get('profile.address1');   // добавил АДРЕС1
}

понимаю что так нельзя, т.к такого поля в таблице USERS нет, а нужно обратиться к таблице user_profiles и по ID пользователя выщемить Адрес1

Уважаемые, подскажите как это сделать!

Спасибо.
« Последнее редактирование: 12.12.2012, 08:24:02 от AL_ALEX »
*

SmilingBull

  • Новичок
  • 4
  • 0 / 0
  • и смех, и грех ...
Re: Автозаполнение полей
« Ответ #2 : 26.06.2012, 12:01:25 »
Гляньте эту тему
Отобразить данные из профиля пользователя.

благодарю за оперативность!

получился следующий код:
Код: php-brief
$db = JFactory::getDbo();
$db->setQuery(
'SELECT profile_key, profile_value FROM #__user_profiles' .
' WHERE user_id = '.(int) JFactory::getUser()->id." AND profile_key LIKE 'profile.%'" .
' ORDER BY ordering'
);
$results = $db->loadRowList();

$profile = array();
foreach ($results as $v)
{
$k = str_replace('profile.', '', $v[0]);
$profile[$k] = json_decode($v[1], true);
}

print_r($profile); // для проверки

$joomla_user_address1 = $profile['address1'];

Но есть магия! если в значении например адреса профиля пользователя содержаться только цифры то все работает! если же встречается пробел или любая другая буква, то поле остается пустым  :(
« Последнее редактирование: 26.06.2012, 12:47:20 от SmilingBull »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Автозаполнение полей
« Ответ #3 : 26.06.2012, 12:18:06 »
Код: php-brief
<?php
$db = JFactory::getDbo();
$db->setQuery(
'SELECT profile_key, profile_value FROM #__user_profiles' .
' WHERE user_id = '.(int) JFactory::getUser()->id." AND profile_key LIKE 'profile.%'" .
' ORDER BY ordering'
);
$results = $db->loadRowList();
$profile = array();
foreach ($results as $v)
{
$k = str_replace('profile.', '', $v[0]);
$profile[$k] = json_decode($v[1], true);
if ($profile[$k] === null)
{
$profile[$k] = $v[1];
}
}
$joomla_user_address1 = $profile['address1'];

?>
$profile['address1'], $profile['address2'], $profile['city'], $profile['region'], $profile['country'], $profile['postal_code'], $profile['phone'], $profile['website'], $profile['favoritebook'], $profile['aboutme'], $profile['dob']
/plugins/user/profile/profile.php
*

SmilingBull

  • Новичок
  • 4
  • 0 / 0
  • и смех, и грех ...
Re: Автозаполнение полей
« Ответ #4 : 26.06.2012, 12:57:05 »
а ларчик просто открывался!

Код: php-brief
	
jimport( 'joomla.user.helper' ); $userProfile = JUserHelper::getProfile();

$joomla_user_address1 = $userProfile->profile[address1];


Спасибо, дяде Федору за науку!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Форма обратной связи как всплывающий модуль?

Автор Лена)

Ответов: 11
Просмотров: 24550
Последний ответ 07.10.2015, 12:52:25
от dennjor
[Решено] aiContactSafe форму в тело страницы

Автор seveNN

Ответов: 30
Просмотров: 27709
Последний ответ 13.05.2014, 21:24:15
от jurassik
[Решено] не отображается CAPTCHA в aiContactSafe

Автор barbadui

Ответов: 48
Просмотров: 43705
Последний ответ 25.09.2013, 11:18:55
от pbrigadir
[Решено] Перестали прикрепляться файлы, показываться captcha, вслывающее окно

Автор siao

Ответов: 0
Просмотров: 5075
Последний ответ 10.09.2013, 10:57:45
от siao
[Решено] Как отправлять на несколько адресатов?

Автор Xolodno

Ответов: 4
Просмотров: 3590
Последний ответ 11.07.2013, 08:18:17
от prostoy