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

dj_lexa

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Добрый день!
Если необходимо сделать задержку между отправкой писем покупателю и администратору, то необходимо в файл ../components/com_virtuemart/helpers/shopfunctionsf.php добавить функцию sleep (1);

Было:
Код
if(isset($vars['orderDetails'])){

//If the vRequest is there, the update is done by the order list view BE and so the checkbox does override the defaults.
//$name = 'orders['.$order['details']['BT']->virtuemart_order_id.'][customer_notified]';
//$customer_notified = vRequest::getVar($name,-1);
if(!$useDefault and isset($vars['newOrderData']['customer_notified']) and $vars['newOrderData']['customer_notified']==1 ){
$user = self::sendVmMail( $view, $recipient, $noVendorMail );
vmdebug('renderMail by overwrite');
} else {
$orderstatusForShopperEmail = VmConfig::get('email_os_s',array('U','C','S','R','X'));
if(!is_array($orderstatusForShopperEmail)) $orderstatusForShopperEmail = array($orderstatusForShopperEmail);
if ( in_array((string) $vars['orderDetails']['details']['BT']->order_status,$orderstatusForShopperEmail) ){
$user = self::sendVmMail( $view, $recipient, $noVendorMail );
vmdebug('renderMail by default');
} else{
$user = -1;
}
}
} else {
$user = self::sendVmMail( $view, $recipient, $noVendorMail );
}

if(isset($view->doVendor) && !$noVendorMail) {
if(isset($vars['orderDetails'])){
$order = $vars['orderDetails'];
$orderstatusForVendorEmail = VmConfig::get('email_os_v',array('U','C','R','X'));
if(!is_array($orderstatusForVendorEmail)) $orderstatusForVendorEmail = array($orderstatusForVendorEmail);
if ( in_array((string)$order['details']['BT']->order_status,$orderstatusForVendorEmail)){
self::sendVmMail( $view, $view->vendorEmail, TRUE );
}else{
$user = -1;
}
} else {
self::sendVmMail( $view, $view->vendorEmail, TRUE );
}

}
Стало:
Код
if(isset($vars['orderDetails'])){

//If the vRequest is there, the update is done by the order list view BE and so the checkbox does override the defaults.
//$name = 'orders['.$order['details']['BT']->virtuemart_order_id.'][customer_notified]';
//$customer_notified = vRequest::getVar($name,-1);
if(!$useDefault and isset($vars['newOrderData']['customer_notified']) and $vars['newOrderData']['customer_notified']==1 ){
$user = self::sendVmMail( $view, $recipient, $noVendorMail );
vmdebug('renderMail by overwrite');
} else {
$orderstatusForShopperEmail = VmConfig::get('email_os_s',array('U','C','S','R','X'));
if(!is_array($orderstatusForShopperEmail)) $orderstatusForShopperEmail = array($orderstatusForShopperEmail);
if ( in_array((string) $vars['orderDetails']['details']['BT']->order_status,$orderstatusForShopperEmail) ){
$user = self::sendVmMail( $view, $recipient, $noVendorMail );
vmdebug('renderMail by default');
} else{
$user = -1;
}
}
} else {
$user = self::sendVmMail( $view, $recipient, $noVendorMail );
}

sleep (1);

if(isset($view->doVendor) && !$noVendorMail) {
if(isset($vars['orderDetails'])){
$order = $vars['orderDetails'];
$orderstatusForVendorEmail = VmConfig::get('email_os_v',array('U','C','R','X'));
if(!is_array($orderstatusForVendorEmail)) $orderstatusForVendorEmail = array($orderstatusForVendorEmail);
if ( in_array((string)$order['details']['BT']->order_status,$orderstatusForVendorEmail)){
self::sendVmMail( $view, $view->vendorEmail, TRUE );
}else{
$user = -1;
}
} else {
self::sendVmMail( $view, $view->vendorEmail, TRUE );
}

}
« Последнее редактирование: 24.05.2015, 21:29:02 от dj_lexa »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться