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

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
У меня проблема со стандартными отзывами. После публикации отзывов они размещаются не сразу после материала, а в самом низу страницы, образовывая тем самым большой пробел между материалом и отзывами. Это очень некрасиво смотрится. Наверное что-то нужно в шаблоне править, но вот что именно я не знаю, не силен я в анализе разных кодов программирования. Если кто может помогите, пожалуйста!
Подозреваю, что нужно править файл sub_reviews.tpl.php.
Вот его код если что:

<div class="reviews">
   <div class="title"><?php echo JText::_( 'Reviews' ); ?> (<?php echo $this->pageNav->total ?>)</div>

   <?php
   if (is_array($this->reviews) && !empty($this->reviews)):
      foreach ($this->reviews AS $review):
   ?>
   <div class="review"><div class="review-head"><div class="review-title"><?php

      if($review->rating > 0) { ?><div class="review-rating"><?php $this->plugin( 'review_rating', $review->rating ); ?></div><?php }

      $this->plugin('ahref', array("path"=>"index.php?option=".$this->option."&amp;task=viewlink&amp;link_id=".$review->link_id,"fragment"=>"rev-".$review->rev_id), $review->rev_title,'id="rev-'.$review->rev_id.'"');
      
      ?></div><div class="review-info"><?php
      echo JText::_( 'Reviewed by' )?><span class="review-owner"><?php echo ( ($review->user_id)? '<a href="' . JRoute::_('index.php?option=com_mtree&amp;task=viewusersreview&amp;user_id='.$review->user_id). '">' . $review->username . '</a>': $review->guest_name); ?></span>, <?php echo strftime('%B %e, %Y', strtotime($review->rev_date)); ?>
      </div><?php
      
      echo '<div id="rhc'.$review->rev_id.'" class="found-helpful"'.( ($review->vote_total==0)?' style="display:none"':'' ).'>';
      echo '<span id="rh'.$review->rev_id.'">';
      if( $review->vote_total > 0 ) {
         printf( JText::_( 'People find this review helpful' ), $review->vote_helpful, $review->vote_total );
      }
      echo '</span>';
      echo '</div>';
      
      echo '</div>';
      ?>
      <div class="review-text">
      <?php
      echo trim($review->rev_text);

      if( !empty($review->ownersreply_text) && $review->ownersreply_approved ) {
         echo '<div class="owners-reply">';
         echo '<span>'.JText::_( 'Owners reply' ).'</span>';
         echo '<p>' . $review->ownersreply_text . '</p>';
         echo '</div>';
      }
      ?>
      </div>
      <?php
   
      if( $this->my->id > 0 && $this->mtconf['user_vote_review'] == 1 ) {
         echo '<div class="ask-helpful">';
         if( array_key_exists($review->rev_id, $this->voted_reviews) ) {
            // User has voted before
         } else {
            echo '<div class="ask-helpful2" id="ask'.$review->rev_id.'">';
            echo JText::_( 'Was this review helpful' );
            echo '</div>';
         ?> <span id="rhaction<?php echo $review->rev_id ?>" class="rhaction"><a href="javascript:voteHelpful('<?php echo $review->rev_id ?>','1');"><?php echo JText::_( 'Yes' ); ?></a>&nbsp;&nbsp;<a href="javascript:voteHelpful('<?php echo $review->rev_id ?>','-1')"><?php echo JText::_( 'No' ); ?></a></span><?php
         }
         echo '</div>';
      }
      
      if( ( ($this->mtconf['user_report_review'] == 1 && $this->my->id > 0) || $this->mtconf['user_report_review'] == 0) || ( $this->my->id == $this->link->user_id && empty($review->ownersreply_text) )) {
         echo '<div class="review-reply-and-report" style="text-align:right">';
         if( ($this->mtconf['user_report_review'] == 1 && $this->my->id > 0) || $this->mtconf['user_report_review'] == 0) {
            ?><div class="review-report"><a href="<?php echo JRoute::_('index.php?option='.$this->option.'&amp;task=reportreview&amp;rev_id='.$review->rev_id)?>" style="font-weight:normal"><?php echo JText::_( 'Report review' ); ?></a></div><?php
         }

         if( $this->my->id == $this->link->user_id && empty($review->ownersreply_text) && $this->mtconf['owner_reply_review'] == 1 ) {
            ?><div class="review-reply"><a href="<?php echo JRoute::_('index.php?option='.$this->option.'&amp;task=replyreview&amp;rev_id='.$review->rev_id)?>" style="font-weight:normal"><?php echo JText::_( 'Reply review' )?></a></div><?php
         }
         echo '</div>';
      }
      ?>

   </div>
   <?php endforeach; ?>

   <?php if( $this->pageNav->total > $this->pageNav->limit ) { ?>
   <div class="pages-links"><?php echo  $this->pageNav->getPagesLinks()?></div>
   <?php }?>
   <div class="pages-counter"><?php echo $this->pageNav->getPagesCounter(); ?></div>

   <?php else: ?>

   <p />
   <?php $this->plugin('ahref', "index.php?option=$this->option&amp;task=writereview&amp;link_id=$this->link_id", JText::_( 'Be the first to review' )); ?>
   
   <?php endif; ?>

</div>
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Все, в помощи не нуждаюсь, сам разобрался. Кому интересно решение в теме: http://joomlaforum.ru/index.php/topic,23578.msg704042.html#msg704042.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Mosets Tree router Баг

Автор kulikov

Ответов: 3
Просмотров: 2121
Последний ответ 18.06.2024, 08:39:19
от sivers
Удалить материал в Mosets Tree

Автор avtomastersu

Ответов: 0
Просмотров: 2610
Последний ответ 19.03.2023, 17:44:40
от avtomastersu
Интеграция JComments 4 в каталог Mosets Tree 4.0

Автор avtomastersu

Ответов: 3
Просмотров: 2995
Последний ответ 23.02.2023, 13:36:18
от avtomastersu
Как вытащить из базы статьи Mosets Tree?

Автор gorbi_U

Ответов: 10
Просмотров: 3336
Последний ответ 28.02.2021, 13:37:16
от IToro82
AlphaUserPoints и Mosets Tree

Автор polattt

Ответов: 0
Просмотров: 4093
Последний ответ 22.01.2017, 20:24:58
от polattt