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

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
Re: Выпадающий список вместо дерева
« Ответ #61 : 29.08.2011, 12:41:56 »
http://joomlaforum.ru/index.php/topic,147526.0.html
а вы сами приобретали? можете сказать относительно качества?
Бложик про joomla, k2, joomshoppingdevul.ru
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Выпадающий список вместо дерева
« Ответ #62 : 29.08.2011, 14:34:09 »
Я не приобретал, поэтому все вопросы задавайте автору мода. Но смотрел демо, вроде как работала.
p.s. Я просто дал ссылку где этот вопрос как бы решили.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
Re: Выпадающий список вместо дерева
« Ответ #63 : 02.10.2011, 14:36:17 »
решение уважаемого Djangar  не работает в режиме редактирования созданного объекта, не подгружаются категории... кто нибудь знает что с этим делать?
Бложик про joomla, k2, joomshoppingdevul.ru
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Выпадающий список вместо дерева
« Ответ #64 : 26.11.2011, 16:28:31 »
Это проблема резки символов. Хотите избавиться? Добавте лимит символов на полное количество символов.  Если у вас самая длинная категория имеет 70 символов, столько и добавтье. А что бы полоса не вышла за пределы поля добавления. В стилях добавте max-width:200px; Ширину выбирайте на свое усмотрение. На примере ширина 200пикселей.

привет не мог бы уточнить где конкретно лимит кол-ва символов?
в коде я добавил
function getSobiCatsDrop ( $parent = 1, $wordlimit=350, $delimiter='|')
но все равно ? см. картинку

>В стилях добавте max-width:200px;
в каком файле CSS это прописано?

и сразу, как это все поднять наверх, над полем "заголовок"? перемещал тупо сей код наверх не отрабатывает
<?php echo $catChooser; ?>
<?php

[вложение удалено Администратором]
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
Re: Выпадающий список вместо дерева
« Ответ #65 : 26.11.2011, 17:56:25 »
1 С 36 поста все подробно описано.
2 Задаем класс или приписываем к существующему (уже не помню, давно с SOBI2 не работаю)
Код
<select name="sobi2SlectedCatsID[]" size="1" class="inputbox">
<option value="108">ЗНАКОМСТВО -&gt; Другое</option>
        ......................................
<option value="93">УСЛУГИ -&gt; Юридические и Нотариальные</option>
</select>
Код
.inputbox {
background: white url(../images/inputbox.png) repeat-x top center;
border: solid 1px #AFAFAF;
max-width: 400px;
margin: 2px;
padding: 2px;
}

Это выдернул со старого проекта фаербагом.

3 Если честно код не помню уже. Вообще все как бы можно переместить. Надо ставить компонент и смотреть.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Выпадающий список вместо дерева
« Ответ #66 : 27.11.2011, 10:44:49 »
"?" решаются кодировкой, как всегда...
как сделать что б активное (выбранное поле) выделялось фоновым цветом?
« Последнее редактирование: 27.11.2011, 10:50:46 от Sedoy »
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Выпадающий список вместо дерева
« Ответ #67 : 01.12.2011, 16:53:44 »
по умолчанию при заходе в ДОБАВИТЬ в окне выбора категорий стоит первая категория
как сделать что б там было "пустое" типа слова "выбрать" или просто прочерк?
  
« Последнее редактирование: 18.12.2011, 12:16:22 от Sedoy »
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

ramzan0603

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Выпадающий список вместо дерева
« Ответ #68 : 17.12.2011, 16:52:46 »
по умолчанию пот заходе в ДОБАВИТЬ в окне выбора категорий стоит первая категория
как сделать что б там было "пустое" типа слова "выбрать" или просто прочерк?
 
Интересует этот же вопрос, кто знает как это сделать, подскажите)
*

veterperemen

  • Новичок
  • 7
  • 0 / 0
Re: Выпадающий список вместо дерева
« Ответ #69 : 28.01.2012, 19:39:06 »
Доброго времени суток, а для Sobi Pro как можно реализовать этот выподающий список? Может кто подскажет....
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Re: Выпадающий список вместо дерева
« Ответ #70 : 05.09.2012, 19:21:55 »
Все работает, список выпадает, однако при редактировании не сохраняется первоначально выбранное значение, все сбивается нафиг, а клиент не глядя кликает сохранить, а потом кричит где моя запись?

Кто-нить с этим разобрался?  !
*

Mustang165

  • Новичок
  • 3
  • 0 / 0
Re: Выпадающий список вместо дерева
« Ответ #71 : 14.10.2012, 16:17:17 »
Добрый день подскажите пожалуйста, как в этом коде убрать вывод первого поля. На фото это поле названно "Россия"

Код
<?php
defined( '_SOBI2_' ) || exit("Restricted access");

global $sobiLastChildId;
$sobiLastChildId=0;
global $sobiLastChildTree;
$sobiLastChildTree='';
global $sobiTmpList;
$sobiTmpList=array();

function getSobiCatsDrop ( $parent = 1, $wordlimit=10, $delimiter='|')
{
global $sobiLastChildId;
global $sobiLastChildTree;
global $sobiTmpList;
    $config =& sobi2Config::getInstance();
    $database =& $config->getDb();
    $published = null;
    if ( $parent < 1 )
{$parent = 1;}
    if ( ! ( defined( '_SOBI2_ADMIN' ) ) )
{$published = " published = 1 AND ";}
    $query = "SELECT relations.catid " . "FROM `#__sobi2_categories`" . "LEFT JOIN `#__sobi2_cats_relations` AS relations ON `#__sobi2_categories`.catid = relations.catid " . "WHERE `parentid` = {$parent} AND `published` = 1 ORDER BY `#__sobi2_categories`.name ASC ";
    $config->database->setQuery( $query );
    $cids = $config->database->loadResultArray();
    if( $config->database->getErrorNum() )
{trigger_error( "DB reports: " . $config->database->stderr(), E_USER_WARNING );}
    if(sizeof($cids)>0)
{
      $ids = ( ! empty( $cids ) )? implode( " , ", $cids ) : null;
      $query = "SELECT * FROM #__sobi2_categories WHERE catid IN({$ids}) AND published = 1 ORDER BY name ASC";//ORDER BY {$config->catsOrdering}";
      $config->database->setQuery( $query );
    }
    $return = $config->database->loadObjectList();
    if ( $config->database->getErrorNum() )
{trigger_error( "DB reports: " . $config->database->stderr(), E_USER_WARNING );}
    $catList1 = array();
    if( !empty( $return ) )
{
        foreach( $return as $category )
    {
$category->name = $config->jsAddSlashes( $config->getSobiStr( $category->name ) );
            $category->name = $config->getSobiStr($category->name);
$sobiLastChildTree=$category->name;
if(strlen($category->name)>$wordlimit && $wordlimit>0)
{$sobiLastChildTree=mb_substr(trim($category->name), 0, $wordlimit).'... ';}
$sobiLastChildId=$category->catid;
getSobiTreeData($category->catid, $wordlimit, $delimiter);
        }
    }
$catList1=$sobiTmpList;
    $catList1 = sobiHTML::selectList( $catList1, "sobi2SlectedCatsID[]", 'size="1" class="inputbox"' , 'value', 'text' );
    $returnVal = "<tr><td>Выберите категорию:</td><td>{$catList1}</td>";
    return $returnVal;
}


function getSobiTreeData ( $parent = 1, $wordlimit=8, $delimiter='|')
{
global $sobiLastChildId;
global $sobiLastChildTree;
global $sobiTmpList;

    $config =& sobi2Config::getInstance();
    $database =& $config->getDb();
    $published = null;
    if ( $parent > 1 )
{
if ( ! ( defined( '_SOBI2_ADMIN' ) ) )
{$published = " published = 1 AND ";}
$query = "SELECT relations.catid " . "FROM `#__sobi2_categories`" . "LEFT JOIN `#__sobi2_cats_relations` AS relations ON `#__sobi2_categories`.catid = relations.catid " . "WHERE `parentid` = {$parent} AND `published` = 1 ORDER BY `#__sobi2_categories`.name ASC";
$config->database->setQuery( $query );
$cids = $config->database->loadResultArray();
if( $config->database->getErrorNum() )
{trigger_error( "DB reports: " . $config->database->stderr(), E_USER_WARNING );}
if(sizeof($cids)>0)
{
  $ids = ( ! empty( $cids ) )? implode( " , ", $cids ) : null;
  $query = "SELECT * FROM #__sobi2_categories WHERE catid IN({$ids}) AND published = 1 ORDER BY name ASC";//ORDER BY {$config->catsOrdering}";
  $config->database->setQuery( $query );
}
$return = $config->database->loadObjectList();
if ( $config->database->getErrorNum() )
{trigger_error( "DB reports: " . $config->database->stderr(), E_USER_WARNING );}

if( !empty( $return ) )
{
foreach( $return as $category )
{
$category->name = $config->jsAddSlashes( $config->getSobiStr( $category->name ) );
$category->name = $config->getSobiStr($category->name);
if(strlen($category->name)>$wordlimit && $wordlimit>0)
{$category->name=mb_substr(trim($category->name), 0, $wordlimit).'... ';}
$tmpStr1=$sobiLastChildTree;
$sobiLastChildTree.=$delimiter.' '.$category->name.' ';
$tmpStr2=$sobiLastChildTree;

$q = "SELECT relations.catid " . "FROM `#__sobi2_categories`" . "LEFT JOIN `#__sobi2_cats_relations` AS relations ON `#__sobi2_categories`.catid = relations.catid " . "WHERE `parentid` = {$category->catid} AND `published` = 1 ORDER BY `#__sobi2_categories`.name ASC";
$config->database->setQuery( $q );
$res = $config->database->loadResultArray();
if( $config->database->getErrorNum() )
{trigger_error( "DB reports: " . $config->database->stderr(), E_USER_WARNING );}
if(empty($res))
{
$sobiLastChildTree=trim($sobiLastChildTree);
$sobiLastChildId=(int)$category->catid;
if($sobiLastChildId>0 && strlen($sobiLastChildTree)>0)
{$sobiTmpList[]=sobiHTML::makeOption( $sobiLastChildId, $sobiLastChildTree );}
}
else
{
$sobiLastChildId=$category->catid;
getSobiTreeData($category->catid, $wordlimit, $delimiter);
}
$sobiLastChildTree=$tmpStr1;
}
}
}
}

?>

Вот фото там главная категория Страна, а вторая Город. Так вот надо убрать Страну чтобы был выбор только из Городов.

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться