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

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
На просторах Интернет для Virtuemart2 нашел скрипт для удаления картинок товаров, которые (товары) удалены через админку. Вирт не удаляет файлы изображений, и этот скрипт может кому то и пригодится.

Подскажите пожалуйста, как поправить это скрипт для работы в Virtuemart3 (+Joomla3).

Заранее благодарен.

Вот код:

Код
<?php $type = 'product'; 
$imgPath = $_SERVER['DOCUMENT_ROOT'].'/images/stories/virtuemart/product/';
$resizedPath = $_SERVER['DOCUMENT_ROOT'].'/images/stories/virtuemart/product/resized/';
set_time_limit(0);
require $_SERVER['DOCUMENT_ROOT'].'/configuration.php';
$conf = new JConfig; $db = new mysqli($conf->host, $conf->user, $conf->password, $conf->db);
 
$images = array_slice(scandir($imgPath), 2);
$resized = array_slice(scandir($resizedPath), 2);
 
$res = $db->query("SELECT
                    virtuemart_media_id,
                    file_url,
                    file_url_thumb
                   FROM {$conf->dbprefix}virtuemart_medias
                   WHERE virtuemart_media_id IN(SELECT DISTINCT virtuemart_media_id FROM {$conf->dbprefix}virtuemart_{$type}_medias)");
             
var_dump($res); die;
             
while($r = $res->fetch_array()){
    $activeID[] = $r[0];
     
    $p = pathinfo($r[1]);
    $activeImg[] = $p['basename'];
     
    $p = pathinfo($r[2]);
    $activeResized[] = $p['basename'];
}     
 
$notActiveImg = array_diff($images, $activeImg);
$notActiveResized = array_diff($resized, $activeResized);
 
$db->query("DELETE FROM {$conf->dbprefix}virtuemart_medias WHERE file_type='$type' AND virtuemart_media_id NOT IN(".implode(',', $activeID).")");
$db->close();
 
foreach($notActiveImg as $i){
    if(is_file($imgPath.$i) && $i != 'index.html')
        unlink($imgPath.$i);
}
foreach($notActiveResized as $i){
    if(is_file($resizedPath.$i)  && $i != 'index.html')
        unlink($resizedPath.$i);
}
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Подскажите пожалуйста, как поправить это скрипт для работы в Virtuemart3 (+Joomla3).
Добрый день!
Удалось ли решить вопрос?
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Неужели на всем белом свете нет путного решения?
Я как то пробовал вычислять из БД, путем сравнения таблиц товаров и медиа, потом после получения списка неиспользуемых фото запускал скрипт удаления картинок по списку, но весь это процесс не из быстрых. 
Тогда нужно было 15тыс товаров проверить, фоток соответственно скопилось раза в 3 больше. Раз в год конечно можно, но все равно это не дело и хочется человеческое решение вопроса :)
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Можно конечно написать разумное решение..
Если интересно пишите в личку.
*

One

  • Захожу иногда
  • 282
  • 3 / 0
Создаем файл php, закидываем туда скрипт. Файл отправляем в корень сайта и запускаем через строку url
Скрипт годен для 3-й версий
Код
<?
$type = 'product'; // type of image: "product" or "category"
$imgPath = $_SERVER['DOCUMENT_ROOT']."/images/stories/virtuemart/$type/"; // default path to full-sized images
$resizedPath = $_SERVER['DOCUMENT_ROOT']."/images/stories/virtuemart/$type/resized/"; // default path to thumbnail images
set_time_limit(0);
require $_SERVER['DOCUMENT_ROOT'].'/configuration.php';
$conf = new JConfig;
$db = new mysqli($conf->host, $conf->user, $conf->password, $conf->db);

$images = array_slice(scandir($imgPath), 2);
$resized = array_slice(scandir($resizedPath), 2);

$query="SELECT
virtuemart_media_id,
file_url,
file_url_thumb
FROM {$conf->dbprefix}virtuemart_medias
WHERE virtuemart_media_id IN(SELECT DISTINCT virtuemart_media_id FROM {$conf->dbprefix}virtuemart_{$type}_medias)";

$res = $db->query($query);

if (!$res) die("Cannot get database resource!");

while($r = $res->fetch_array()){
    $activeID[] = $r[0];

    $p = pathinfo($r[1]);
    $activeImg[] = $p['basename'];

    $p = pathinfo($r[2]);
    $activeResized[] = $p['basename'];
}   
if (!is_null($activeImg)){
    $notActiveImg = array_diff($images, $activeImg);
};
if (!is_null($activeResized)){
    $notActiveResized = array_diff($resized, $activeResized);
}

if (!is_null($activeID)){
    $db->query("DELETE FROM {$conf->dbprefix}virtuemart_medias WHERE file_type='$type' AND virtuemart_media_id NOT IN(".implode(',', $activeID).")");
}
$db->close();


$full=0;
$thumb=0;
if (!is_null($activeImg)){

    foreach($notActiveImg as $i){
        if(is_file($imgPath.$i) && $i != 'index.html'){
            if (unlink($imgPath.$i)) $full++; else echo "Cannot delete $imgPath$i<br>";
        } else "File not exists $imgPath.$i<br>";
    }
}
if (!is_null($activeResized)){

    foreach($notActiveResized as $i){
        if(is_file($resizedPath.$i)  && $i != 'index.html'){
            if (unlink($resizedPath.$i)) $thumb++; else echo "Cannot delete $imgPath$i<br>";
        } else "File not exists $imgPath.$i<br>";
    }
}
if ($full>0) echo "Deleted $full full-sized images<br>";
if ($thumb>0) echo "Deleted $thumb thumbnail images<br>";
if ($full==0 && $thumb==0) echo "Nothing to delete";
?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Выгрузка товаров в Яндекс.Маркет для VirtueMart 3.x, VirtueMart 4

Автор icom

Ответов: 791
Просмотров: 200319
Последний ответ 03.07.2023, 10:02:04
от strongest
Привязка товаров к категориям при импорте из csv

Автор max_max

Ответов: 8
Просмотров: 9776
Последний ответ 16.08.2021, 18:45:19
от max_max
csvi Pro 7.3.0. Игнорирование существующих полей пи импорте товаров

Автор Viktor

Ответов: 2
Просмотров: 4204
Последний ответ 13.12.2019, 22:44:43
от AlexB
CSVI импорт товаров - Ну никак.(РЕШЕНО!)

Автор vtrcmert

Ответов: 129
Просмотров: 57228
Последний ответ 13.09.2019, 16:05:21
от forlan
Выгрузка товаров с VirtueMart в olx?

Автор Stasweb

Ответов: 1
Просмотров: 4246
Последний ответ 03.03.2019, 16:00:47
от gartes