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

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Есть интересный код для кнопок соцсетей, но он написан для WordPres. Чтоб заработал на Joomla 3 нужно заменить переменную, что выводит ссылку на текущую страницу.
Код
<?php the_permalink(); ?>
Весь интернет перерыл и не могу найти  *ОХ-Х-Х* Помогите пожалуйста... Привожу код:

HTML
Код
<div id="share">
<div class="like">Понравилось? Поделитесь с друзьями!</div>
<div class="social" data-url="<?php the_permalink(); ?>" data-title="<?php the_title(); ?>">
<a class="push facebook" data-id="fb"><i class="fa fa-facebook"></i> Facebook</a>
<a class="push twitter" data-id="tw"><i class="fa fa-twitter"></i> Twitter</a>
<a class="push vkontakte" data-id="vk"><i class="fa fa-vk"></i> Вконтакте</a>
<a class="push ok" data-id="ok"><i class="fa fa-odnoklassniki"></i> Одноклассники</a>
</div>
</div>

JS
Код
var Shares = {
title: 'Поделиться',
width: 800,
height: 800,
init: function() {
var share = document.querySelectorAll('.social');
for (var i = 0, l = share.length; i < l; i++) {
var url = share[i].getAttribute('data-url') || location.href,
title = share[i].getAttribute('data-title') || '',
desc = share[i].getAttribute('data-desc') || '',
el = share[i].querySelectorAll('a');
for (var a = 0, al = el.length; a < al; a++) {
var id = el[a].getAttribute('data-id');
if (id) this.addEventListener(el[a], 'click', {
id: id,
url: url,
title: title,
desc: desc
});
}
}
},
addEventListener: function(el, eventName, opt) {
var _this = this,
handler = function() {
_this.share(opt.id, opt.url, opt.title, opt.desc);
};
if (el.addEventListener) {
el.addEventListener(eventName, handler);
} else {
el.attachEvent('on' + eventName, function() {
handler.call(el);
});
}
},
share: function(id, url, title, desc) {
url = encodeURIComponent(url);
desc = encodeURIComponent(desc);
title = encodeURIComponent(title);
switch (id) {
case 'fb':
this.popupCenter('https://www.facebook.com/sharer/sharer.php?u=' + url, this.title, this.width, this.height);
break;
case 'tw':
var text = title || desc || '';
if (title.length > 0 && desc.length > 0) text = title + ' - ' + desc;
if (text.length > 0) text = '&text=' + text;
this.popupCenter('https://twitter.com/intent/tweet?url=' + url + text, this.title, this.width, this.height);
break;
case 'viber':
this.popupCenter('viber://forward?text=' + url, this.title, this.width, this.height);
break;
case 'whatsapp':
this.popupCenter('https://api.whatsapp.com/send?text=' + url, this.title, this.width, this.height);
break;
case 'telegram':
this.popupCenter('https://telegram.me/share/url?url=' + url, this.title, this.width, this.height);
break;
}
},
newTab: function(url) {
var win = window.open(url, '_blank');
win.focus();
},
popupCenter: function(url, title, w, h) {
var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left;
var dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top;
var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
var left = ((width / 2) - (w / 2)) + dualScreenLeft;
var top = ((height / 3) - (h / 3)) + dualScreenTop;
var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
if (window.focus) {
newWindow.focus();
}
}
};
jQuery(document).ready(function($) {
$('.social a').on('click', function() {
var id = $(this).data('id');
if (id) {
var data = $(this).parent('.social');
var url = data.data('url') || location.href,
title = data.data('title') || '',
desc = data.data('desc') || '';
Shares.share(id, url, title, desc);
}
});
});

P.S. - Не знаю, влияет это на что-то или нет, но я использую на Joomla 3 компонент ZOO
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Переменная для вывода ссылки
« Ответ #1 : 02.03.2020, 22:58:14 »
Судя по JS-коду (второй блок), атрибут со ссылкой data-url="<?php the_permalink(); ?>" (в первом блоке) можно вообще убрать. Тогда JS будет подставлять текущую ссылку.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Re: Переменная для вывода ссылки
« Ответ #2 : 02.03.2020, 23:56:26 »
можно вообще убрать
Да, вы правы! Вообще убрал и все работает. В другой ветке мне посоветовали заменить на
Код
<?php echo JURI::Current(); ?>

Работает и с ним и без него... Теперь нужно понять как прописать функцию, что выводит Заголовок страницы (Title) и название сайта. Вот почему-то для WordPres все сразу нашел, а для Joomla не могу. Для WordPres:

Заголовок
Код
<?php the_title(); ?>

Адрес сайта
Код
<?php bloginfo('name'); ?>

Не подскажите как прописать эти функции?  *ОХ-Х-Х*
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Переменная для вывода ссылки
« Ответ #3 : 03.03.2020, 08:28:13 »
Код
$app = JFactory::getApplication('site');
// Установить title
$app->getDocument()->setTitle('Новый титл');
// Получить название сайта (фактически - чтение параметра из файла конфигурации /configuration.php)
$sitename = $app->getCfg('sitename', '');
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Почему ссылки меню одинаковые для разных представлений?

Автор borro

Ответов: 3
Просмотров: 751
Последний ответ 14.02.2020, 16:19:18
от borro
Связать две таблицы с БД для дальнейшего вывода данных с них

Автор golinejj

Ответов: 16
Просмотров: 1211
Последний ответ 06.02.2020, 15:40:58
от golinejj
Ссылки в модуле на сам модуль

Автор SeBun

Ответов: 12
Просмотров: 1649
Последний ответ 06.12.2019, 15:06:38
от Betty1412
Размещение вывода компонента в позиции(ях) шаблона

Автор tm2010

Ответов: 4
Просмотров: 1315
Последний ответ 21.06.2018, 17:38:18
от tm2010
Убрать алиас пункта меню из ссылки

Автор denism300

Ответов: 0
Просмотров: 1005
Последний ответ 13.12.2016, 11:15:39
от denism300