Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 2342 Просмотров
*

volk-beaver

  • Новичок
  • 1
  • 0 / 0
На сайте разработчика плагина LLKcaptcha (основанного на проекте KCAPTCHA) есть инструкция по внедрению этого плагина в компоненты Joomla. Следуя этой инструкции, я попытался прикрутить показ CAPTCHA к комментариям компонента K2, однако у меня это получилось не полностью. Сам вывод CAPTCHA удалось прикрутить к форме отправки комментариев при помощи внесения кода в этот файл: ../components/com_k2/templates/default/item_comments_form.php. Пример кода:

Код
<?php
$plugin = JFactory::getApplication()->getParams()->get('captcha', JFactory::getConfig()->get('captcha'));                                                          
$name='my_name';
$id='my_id';
$class='my_class';
if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null)
{
      return '';
}
else
{
      if (($captcha = JCaptcha::getInstance($plugin)) == null)
      {
            return '';
      }
}
echo $captcha->display($name, $id, $class);                                                          
?>



А вот код проверки ввода CAPTCHA куда только не вставлял, но так и не смог добиться результата. Комментарии отправлялись вне зависимости от того, что было (или не было) введено в поле проверки CAPTCHA. Пример кода (на сайте разработчика плагина в коде была, по всей видимости, пропущена одна фигурная скобка; прокомментирую в том месте, куда её добавил):

Код
<?php
$plugin = JFactory::getApplication()->getParams()->get('captcha', JFactory::getConfig()->get('captcha'));
if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null)
{
     return '';
}
else
{
     if (($captcha = JCaptcha::getInstance($plugin)) == null)
     {
            return '';
     }
// Скорее всего именно здесь была пропущена скобка
}
$captcha->CheckAnswer('');
?>

В общем, буду благодарен, если кто-нибудь поможет объяснить, как заставить работать этот плагин в комментариях компонента К2. Мои попытки производились в среде Joomla 3.1.1 и K2 v2.6.7. Кстати, сразу скажу, что особо в PHP не разбираюсь. Спасибо.

В общем, пообщался я с разработчиками этого плагина и они любезно предоставили решение. Описание на сайте.
« Последнее редактирование: 16.07.2013, 03:42:12 от volk-beaver »
*

llsoftby

  • Новичок
  • 2
  • 1 / 0
Добрый день.
Продублирую ответ здесь, возможно, кому-то пригодится.

Итак, интеграция LLKcaptcha в компоненте K2 (комментарии)


1) Вставить в com_k2/templates/default/item_comments_form.php код:

$plugin = JFactory::getApplication()->getParams()->get('captcha', JFactory::getConfig()->get('captcha'));                                                     

$name='my_name';

$id='my_id';

$class='my_class';

 

if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null) {

      return '';

 } else {

          if (($captcha = JCaptcha::getInstance($plugin)) == null) {

               return '';

           }

     }

echo $captcha->display($name, $id, $class);

2) В \components\com_k2\controllers\item.php by заменяем существующую функцию function comment()  на:

    function comment(){
        $plugin    = JFactory::getApplication()->getParams()->get('captcha', JFactory::getConfig()->get('captcha'));

       if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null) {

         return '';

        } else {

         if (($captcha = JCaptcha::getInstance($plugin)) == null) {

              return '';

          }
    }
    if($captcha->CheckAnswer('')) {
                $model = $this->getModel('item');
                $model->comment();
            } else {
                  $mainframe = JFactory::getApplication();
                    JLoader::register('Services_JSON', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'lib'.DS.'JSON.php');
                    $json = new Services_JSON;
                    $response = new JObject();
                    $response->set('message','Wrong captcha value. Please, refresh captcha'); //
                    //$response->set('refresh',1);   //to refresh page (after AJAX answer)
                    echo $json->encode($response);
                    $mainframe->close();
            }
   
    }

Подробные инструкции смотрите здесь http://www.llsoft.by/joomla-customization/llkcaptchahowto.
*

AzaLeo

  • Захожу иногда
  • 76
  • 2 / 0
Тема как раз очень пригодилась, спасибо автору. Но есть проблема: каким образом убрать каптчу от зарегистрированные пользователей? Пробовал условием в выводе, но я так понимаю, что создается сессия и ее нужно или как-то убрать или обработать, потому что комментарии все равно не добавляются без ввода кода.
*

AzaLeo

  • Захожу иногда
  • 76
  • 2 / 0
Разобрался. Нужно условие внутри самой функции сделать. Если кому пригодится, то код, который нужно вставить в item.php, должен быть таким:

Код: php
    function comment(){
$user = &JFactory::getUser();
if ($user->guest)
{
         $plugin    = JFactory::getApplication()->getParams()->get('captcha', JFactory::getConfig()->get('captcha'));

       if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null) {

         return '';

        } else {

         if (($captcha = JCaptcha::getInstance($plugin)) == null) {

              return '';

          }
     }
     if($captcha->CheckAnswer('')) {
                 $model = $this->getModel('item');
                 $model->comment();
             } else {
                   $mainframe = JFactory::getApplication();
                     JLoader::register('Services_JSON', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'lib'.DS.'JSON.php');
                     $json = new Services_JSON;
                     $response = new JObject();
                     $response->set('message','Wrong captcha value. Please, refresh captcha'); //
                     //$response->set('refresh',1);   //to refresh page (after AJAX answer)
                     echo $json->encode($response);
                     $mainframe->close();
             }
}
else
{
$model = &$this->getModel('item');
$model->comment();
}
}
*

llsoftby

  • Новичок
  • 2
  • 1 / 0
Добрый день.

Да, можно проверять Вашим способом и выводить (проверять) каптчу только для гостей.
Для удобства, чтобы каждый раз не лазить в код и ставить доп. проверки, обновилась версия llkcaptcha, где добавлен параметр, отвечающий для отображения CAPTCHA: для всех или только для гостей. Скачать можно на нашем сайте.
http://llsoft.by/joomla-customization/llkcaptcha.

С Уважением,
ЛЛСОФТ
*

AzaLeo

  • Захожу иногда
  • 76
  • 2 / 0
Уважаемые разработчики, CAPTCHA перестала защищать комментарии К2 от спама. Приходится усложнять конфигурацию отображения CAPTCHA. Для людей стало сложно проходит проверку, а вот спам все равно проскакивает несколько раз в день. Что-то можно предпринять?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Решено: Более одной группы доп. полей

Автор chilly_bang

Ответов: 75
Просмотров: 25788
Последний ответ 07.02.2022, 17:06:11
от Dobrota
[Решено] K2 не сохраняет настройки

Автор Dobrota

Ответов: 2
Просмотров: 4887
Последний ответ 07.02.2022, 15:58:04
от Dobrota
Перестала работать опция оценки материалов/рейтинг в компоненте K2

Автор Yonakano

Ответов: 4
Просмотров: 3589
Последний ответ 07.02.2021, 00:30:57
от Yonakano
Ошибка ПРИ создании материала В К2 - РЕШЕНО

Автор korchaga

Ответов: 1
Просмотров: 3422
Последний ответ 28.12.2020, 03:21:46
от korchaga
Не отображается Captcha v2 в компоненте K2 2.10.3 Joomla 2.5

Автор Александр Кардаш

Ответов: 4
Просмотров: 2511
Последний ответ 30.07.2020, 12:27:47
от Александр Кардаш