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

likrion

  • Давно я тут
  • 750
  • 129 / 2
все что у меня получилось это нормальное отображение при добавлении елемента, но правка материала не работает и в submission не отображается, прилагаю оригинальную версию weblink для zoo 2.3/ Joomla 1.5




[вложение удалено Администратором]
« Последнее редактирование: 15.06.2011, 01:18:58 от likrion »
R331474010295
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
рабочий weblink.xml


Код
<?xml version="1.0" encoding="utf-8"?>
<element type="weblink" group="Мои элементы">
<name>Weblink</name>
<author>YOOtheme</author>
<creationDate>October 2009</creationDate>
<copyright>Copyright (C) 2007 - 2009 YOOtheme GmbH</copyright>
<authorEmail>info@yootheme.com</authorEmail>
<authorUrl>http://www.yootheme.com</authorUrl>
<version>1.0.0</version>
<description>HTML Weblink</description>
<params>
<param name="name" type="text" default="" label="Name" description="Name used in item editor" />
<param name="description" type="text" default="" label="Description" description="DESCRIPTION_TOOLTIP_ITEM_EDITOR" />
<param name="use_weblink_as_text" type="radio" default="0" label="Link as text" description="Use weblink as weblink text itself">
<option value="0">JNo</option>
<option value="1">JYes</option>
</param>
<param name="default_text" type="text" default="DepositBit" label="Link Text" description="DEFAULT_LINK_TEXT" />
<param name="custom_title" type="radio" default="1" label="Custom Title" description="CUSTOM_TITLE_DESCRIPTION">
<option value="0">JNo</option>
<option value="1">JYes</option>
</param>
<param name="default_rel" type="text" default="nofollow" label="Rel Attribute" description="DEFAULT_REL_ATTRIBUTE" />
<param name="repeatable" type="radio" default="1" label="Repeatable" description="Add multiple weblinks.">
<option value="0">JNo</option>
<option value="1">JYes</option>
</param>
</params>
<params group="render">
<param name="showlabel" type="radio" default="0" label="Show Label" description="Show/Hide element label">
<option value="0">JNo</option>
<option value="1">JYes</option>
</param>
<param name="altlabel" type="text" default="" label="Alternative Label" description="CUSTOM_LABEL" />
<param name="separated_by" type="zoolist" default="Space" label="Separated by" description="CHOOSE_SEPARATOR_REPEATED_ELEMENTS">

<option name="Table"><![CDATA[tag=[<td>%s</td>] enclosing_tag=[<center><table><tr>%s</tr></table></center>]]]></option>
<option name="Space"><![CDATA[separator=[ ]]]></option>
<option name="Comma"><![CDATA[separator=[, ]]]></option>
<option name="Hyphen"><![CDATA[separator=[ - ]]]></option>
<option name="Pipe"><![CDATA[separator=[ | ]]]></option>
<option name="Break"><![CDATA[separator=[<br /><br />]]]></option>
<option name="Span"><![CDATA[tag=[<span>%s</span>]]]></option>
<option name="Paragraph"><![CDATA[tag=[<p>%s</p>]]]></option>
<option name="Div"><![CDATA[tag=[<div>%s</div>]]]></option>
<option name="List Item"><![CDATA[tag=[<li>%s</li>]]]></option>
<option name="Unordered List"><![CDATA[tag=[<li>%s</li>] enclosing_tag=[<ul>%s</ul>]]]></option>
<option name="Ordered List"><![CDATA[tag=[<li><div>%s</div></li>] enclosing_tag=[<ol>%s</ol>]]]></option>
</param>
</params>
</element>
R331474010295
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
рабочий /weblink/tmpl/edit.php

изменения -замена

Код
JHTML::_    на    $this->app->html->_


Код
<?php
/**
* @package   ZOO Component
* @file      edit.php
* @version   2.1.0 BETA August 2010
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) 2007 - 2010 YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

$id = 'elements['.$element.']['.$index.']';

?>

<div id="<?php echo $id; ?>">

<?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][value]', $link, 'size="40" maxlength="255" title="'.JText::_('Link').'"'); ?>

<div class="more-options">
<div class="trigger">
<div>
<div class="advanced button hide"><?php echo JText::_('Hide Options'); ?></div>
<div class="advanced button"><?php echo JText::_('Show Options'); ?></div>
</div>
</div>

<div class="advanced options">
<div class="row">
<label for="elements[<?php echo $element; ?>][<?php echo $index; ?>][text]"><?php echo JText::_('Text'); ?></label>
<?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][text]', $text, 'size="40" maxlength="255" title="'.JText::_('Text').'"'); ?>
</div>

<div class="row">
<strong><?php echo JText::_('New window'); ?></strong>
<?php echo $this->app->html->_('select.booleanlist', 'elements['.$element.']['.$index.'][target]', $target, $target); ?>
</div>

<div class="row">
<label for="elements[<?php echo $element; ?>][<?php echo $index; ?>][custom_title]"><?php echo JText::_('Title'); ?></label>
<?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][custom_title]', $title, 'size="40" maxlength="255" title="'.JText::_('Title').'"'); ?>
</div>

<div class="row">
<label for="elements[<?php echo $element; ?>][<?php echo $index; ?>][rel]"><?php echo JText::_('Rel'); ?></label>
<?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][rel]', $rel, 'size="40" maxlength="255" title="'.JText::_('Rel').'"'); ?>
</div>
</div>
</div>

<script type="text/javascript">
new Zoo.EditElement({element: '<?php echo $id; ?>'});
</script>

</div>
« Последнее редактирование: 14.06.2011, 16:33:42 от likrion »
R331474010295
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
рабочий /weblink/tmpl/submission.php

изменения -замена

Код
JHTML::_    на    $this->app->html->_



Код
<?php
/**
* @package   ZOO Component
* @file      submission.php
* @version   2.1.0 BETA August 2010
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) 2007 - 2010 YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

$id = 'elements['.$element.']['.$index.']';

?>

<div id="<?php echo $id; ?>">

    <?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][value]', $link, 'size="40" title="'.JText::_('Link').'"'); ?>

    <?php if ($trusted_mode) : ?>

<div class="more-options">
<div class="trigger">
<div>
<div class="advanced button hide"><?php echo JText::_('Hide Options'); ?></div>
<div class="advanced button"><?php echo JText::_('Show Options'); ?></div>
</div>
</div>

<div class="advanced options">

<div class="row">
<label for="elements[<?php echo $element; ?>][<?php echo $index; ?>][text]"><?php echo JText::_('Text'); ?></label>
<?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][text]', $text, 'size="40" title="'.JText::_('Text').'"'); ?>
</div>

<div class="row">
<strong><?php echo JText::_('New window'); ?></strong>
<?php echo $this->app->html->_('select.booleanlist', 'elements['.$element.']['.$index.'][target]', '', $target)?>
</div>

<div class="row short">
<label for="elements[<?php echo $element; ?>][<?php echo $index; ?>][custom_title]"><?php echo JText::_('Title'); ?></label>
<?php $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][custom_title]', $title, 'size="40" title="'.JText::_('Title').'"'); ?>
</div>

<div class="row short">
<label for="elements[<?php echo $element; ?>][<?php echo $index; ?>][rel]"><?php echo JText::_('Rel'); ?></label>
<?php echo $this->app->html->_('control.text', 'elements['.$element.']['.$index.'][rel]', $rel, 'size="40" title="'.JText::_('Rel').'"'); ?>
</div>

</div>
</div>

<script type="text/javascript">
new Zoo.EditElement({element: '<?php echo $id; ?>'});
    </script>

    <?php endif; ?>

</div>
R331474010295
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
вся загвоздка встала в /weblink/weblink.php

в не измененном виде выдает ошибку 500 при переходе в редактирование материала а в измененном(
Код
 JHTML::_    на    $this->app->html->_
)

показывает каракулю и ломает страницу как это было когда то при создании котегорий на Joomla 1.6 в zoo 2.4 beta


исходник файла

Код
<?php
/**
* @package   ZOO Component
* @file      weblink.php
* @version   2.0.1 May 2010
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) 2007 - 2010 YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// include assets css
JHTML::stylesheet('download.css', 'administrator/components/com_zoo/elements/download/assets/css/');

// register yoo gallery class
JLoader::register('ElementRepeatable', ZOO_ADMIN_PATH.'/elements/repeatable/repeatable.php');

/*
   Class: ElementWeblink
       The weblink element class
*/
class ElementWeblink extends ElementRepeatable {

/*
Function: _hasValue
Checks if the repeatables element's value is set.

  Parameters:
$params - render parameter

Returns:
Boolean - true, on success
*/
protected function _hasValue($params) {
$weblink = $this->_data->get('value', '');
$text = $this->getText();
return !empty($weblink) && !empty($text);
}


/*
Function: getText
Gets the weblink text.

Returns:
String - text
*/
public function getText() {

// init vars
$use_weblink_as_text = $this->_config->get('use_weblink_as_text');
$default_text = $this->_config->get('default_text');

if ($use_weblink_as_text) {
return $this->_data->get('value', '');
} else if (!empty($default_text)) {
return $default_text;
} else {
return $this->_data->get('text', '');
}
}

/*
Function: getRel
Gets the weblink rel.

Returns:
String - rel
*/
public function getRel() {

// init vars
$default_rel = $this->_config->get('default_rel');

if (empty($default_rel)) {
return $this->_data->get('rel', '');
} else {
return $default_rel;
}
}

/*
Function: getTitle
Gets the weblink title.

Returns:
String - title
*/
public function getTitle() {

// init vars
$custom_title = $this->_config->get('custom_title');

if ($custom_title) {
return $this->_data->get('custom_title', '');
} else {
return $this->getText();
}
}

/*
Function: render
Renders the repeatable element.

  Parameters:
            $params - render parameter

Returns:
String - html
*/
/* Оригинальный вид вывода
protected function _render($params = array()) {

$target = ($this->_data->get('target', ''))? 'target="_blank"' : '';
$rel = ($this->getRel())? 'rel="' . $this->getRel().'"' : '';

return '<a href="'.JRoute::_($this->_data->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';

} */

protected function _render($params = array()) {

$target = ($this->_data->get('target', ''))? 'target="_blank"' : 'target="_blank"';
$rel = ($this->getRel())? 'rel="' . $this->getRel().'"' : '';

return '<noindex><div class="pos-button"><a class="yoo-zoo element-download-button" href="'.JRoute::_($this->_data->get('value', '')).'" title="'.$this->getText().'" '.$target.' '. $rel .'><span><span>'.$this->getTitle().'</span></span></a></div></noindex>';

}

/*
  Function: _edit
      Renders the repeatable edit form field.

  Returns:
      String - html
*/
protected function _edit(){

// init vars
$use_weblink_as_text = $this->_config->get('use_weblink_as_text');
$default_text = $this->_config->get('default_text');
$custom_title = $this->_config->get('custom_title');
$default_rel = $this->_config->get('default_rel');

// create html
$html  = '<table>';

// weblink text
if (!$use_weblink_as_text && empty($default_text)) {
$html .= JHTML::_('element.editrow', JText::_('Text'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][text]', $this->getText(), 'size="20" maxlength="255"'));
}

// weblink
$html .= JHTML::_('element.editrow', JText::_('Weblink'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][value]', $this->_data->get('value', ''), 'size="20" maxlength="255"'));

// target
$html .= JHTML::_('element.editrow', JText::_('New window'), JHTML::_('select.booleanlist', 'elements[' . $this->identifier . ']['.$this->index().'][target]', $this->_data->get('target', ''), $this->_data->get('target', '')));

// custom title
if ($custom_title) {
$html .= JHTML::_('element.editrow', JText::_('Title'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][custom_title]', $this->getTitle(), 'size="20" maxlength="255"'));
}

// rel
if (empty($default_rel)) {
$html .= JHTML::_('element.editrow', JText::_('Rel'), JHTML::_('control.text', 'elements[' . $this->identifier . ']['.$this->index().'][rel]', $this->getRel(), 'size="20" maxlength="255"'));
}

$html .= '</table>';

return $html;
}
}




« Последнее редактирование: 15.06.2011, 01:28:21 от likrion »
R331474010295
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
или помогите найти  Super Links for ZOO
R331474010295
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Нужен элемент стилизованный под download?
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
всем спасибо за безучастие! вопрос решился созданием клона элемента link c небольшими исправлениями в коде и подключением CSS
R331474010295
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Элемент Image ( значение по дефолту)

Автор G300

Ответов: 22
Просмотров: 6223
Последний ответ 02.12.2020, 12:14:39
от vasmed
Экспорт материалов из Zoo 3.x в Joomla 3.1

Автор 1day

Ответов: 3
Просмотров: 5250
Последний ответ 19.09.2020, 22:46:46
от Missile
[Элемент] Calcage - показ возраста в годах

Автор likrion

Ответов: 20
Просмотров: 5732
Последний ответ 13.06.2019, 22:08:39
от Oliska76
[Элемент] Glink Ссылка кнопка

Автор likrion

Ответов: 15
Просмотров: 7272
Последний ответ 01.02.2016, 11:14:24
от likrion
[Элемент] archiv - перенос элемента в архивную категорию по окончанию публикации( и ее продление )

Автор likrion

Ответов: 37
Просмотров: 6577
Последний ответ 22.10.2015, 08:13:12
от nick71