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

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Код
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'С днем Независимости" 195-135" ORDER BY product_price DESC LI' at line 1 SQL=SELECT p.`virtuemart_product_id`, `l`.`product_name` FROM `subdomaincard_virtuemart_products` as p INNER JOIN `subdomaincard_virtuemart_products_ru_ru` as l using (`virtuemart_product_id`) LEFT JOIN `subdomaincard_virtuemart_product_shoppergroups` as ps ON p.`virtuemart_product_id` = `ps`.`virtuemart_product_id` LEFT JOIN `subdomaincard_virtuemart_product_categories` as pc ON p.`virtuemart_product_id` = `pc`.`virtuemart_product_id` LEFT JOIN `subdomaincard_virtuemart_product_prices` as pp ON p.`virtuemart_product_id` = pp.`virtuemart_product_id` WHERE ( `pc`.`virtuemart_category_id` = 162 AND ( `ps`.`virtuemart_shoppergroup_id`= "2" OR `ps`.`virtuemart_shoppergroup_id` IS NULL ) AND p.`published`="1" ) AND p.`virtuemart_product_id`!="665" AND product_price <= "Открытка "С днем Независимости" 195-135" ORDER BY product_price DESC LIMIT 1
пробовал в sql файле в этих таблицах удалять
Код
 DEFAULT CHARSET=utf8
и менять
Код
 ENGINE=MyISAM
на
Код
TYPE=MyISAM
ошибка не пропала
категории работают и картинки этих открыток там отображаются а вот сам товар нет.
проблема появилась при переезде с Joomla 2.5.28 VirtueMart 2.6.16 на Joomla 3 VirtueMart 3.0.10 помогите разобраться
« Последнее редактирование: 30.07.2024, 15:11:28 от Stasweb »
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Информация о системе

куда копирую
Платформа, на которой работает PHP    Linux pkz1.hoster.kz 2.6.32-604.16.2.lve1.3.54.el6.x86_64 #1 SMP Mon Jul 27 11:32:29 EDT 2015 x86_64
Версия базы данных                            5.5.45-cll-lve
Кодировка базы данных                    utf8_general_ci
Версия                                                PHP   5.4.33
Веб-сервер                                            nginx/1.9.4
Интерфейс между веб-сервером и PHP    fpm-fcgi
Версия Joomla!                                    Joomla! 3.4.4 Stable [ Ember ] 8-September-2015 21:30 GMT
Версия Joomla! Platform                    Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT
Браузер пользователя                       Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36

это откуда копирую
Платформа, на которой работает PHP   Windows NT 7-�� 6.1 build 7601 (Windows 7 Home Basic Edition Service Pack 1) i586
Версия базы данных                           5.5.45
Кодировка базы данных                   utf8_general_ci
Версия PHP                                           5.3.29
Веб-сервер                                     Apache/2.2.31 (Win32)
Интерфейс между веб-сервером и PHP   apache2handler
Версия Joomla!                                   Joomla! 3.2.7 Stable [ Ember ] 30-September-2014 14:00 GMT
Версия Joomla! Platform                   Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT
Браузер пользователя                           Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
"С днем Независимости". Уберите двойные кавычки. Или запишите так
Код: sql
Открытка \"С днем Независимости\" 195-135
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Так при переходе по всем ссылкам такая ошибка если зайти в любой товар.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Копирую с локального хоста с рабочими параметрами таблицы и устанавливаю
_virtuemart_products
_virtuemart_products_ru_ru
_virtuemart_product_shoppergroups
_virtuemart_product_categories
_virtuemart_product_prices
также ошибка не исчезает.
Что еще можно сделать с ними подскажите может есть какой сторонний вариант для копирования базы
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
дело скорей всего именно в кавычках, как уже сказали.
В базе описания товаров хранятся именно с двойными кавычками?

вообще странно, изменения в компонент в ядро вносились на уровне запросов? По идее там же отрабатывает mysql_real_escape_string и кавычки при вставке в БД должны экранироваться при выполнении запроса и после при селекте корректно показываться

и на всякий случай проверьте кодировку таблиц БД (не всей бд а именно таблиц)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Не совсем, когда внимательней глянул и увидел
Код: sql
SELECT p.`virtuemart_product_id`, `l`.`product_name` FROM `subdomaincard_virtuemart_products` as p 
INNER JOIN `subdomaincard_virtuemart_products_ru_ru` as l using (`virtuemart_product_id`)
LEFT JOIN `subdomaincard_virtuemart_product_shoppergroups` as ps ON p.`virtuemart_product_id` = `ps`.`virtuemart_product_id`
LEFT JOIN `subdomaincard_virtuemart_product_categories` as pc ON p.`virtuemart_product_id` = `pc`.`virtuemart_product_id`
LEFT JOIN `subdomaincard_virtuemart_product_prices` as pp ON p.`virtuemart_product_id` = pp.`virtuemart_product_id`
WHERE ( `pc`.`virtuemart_category_id` = 162
AND ( `ps`.`virtuemart_shoppergroup_id`= "2" OR `ps`.`virtuemart_shoppergroup_id` IS NULL )
AND p.`published`="1" )
AND p.`virtuemart_product_id`!="665"
AND product_price <= "Открытка "С днем Независимости" 195-135"
ORDER BY product_price DESC LIMIT 1
Ошибка в 2 последних строчках. Мало того что в product_price <= некорректное значение пихает, так еще и имена полей без префиксов
Решил не связываться. Если VM такие запросы генерит, сносить его надо, а не запросы править.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
passer - хм, я конечно не спец по VirtueMart и глюков и багов в нем хватает - но такого никогда не видел, тип поля product_price вроде как decimal
как вы туда умудрились строку запихать? Это ведь физически невозможно

Цитировать
так еще и имена полей без префиксов
если имя поля в пределах задействованных таблиц уникально - то и префикс совершенно не нужен, это нормально
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
passer - хм, я конечно не спец по VirtueMart и глюков и багов в нем хватает - но такого никогда не видел, тип поля product_price вроде как decimal
как вы туда умудрились строку запихать? Это ведь физически невозможно
Вопрос не ко мне. Тоже не великий спец. Это не значение поля, это условие выборки. Как оно туда попало понятия не имею.
если имя поля в пределах задействованных таблиц уникально - то и префикс совершенно не нужен, это нормально
Ну это да. Уникально ли оно тоже понятия не имею.
В общем Stasweb ищите где формируется запрос в этой части
Код: sql
AND product_price <= "Открытка "С днем Независимости" 195-135" 
и правте.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Включил отладку и при загрузки страницы товара выдает

1   JApplicationCms->execute()                                              /index.php:45
2   JApplicationSite->doExecute()                                      /libraries/cms/application/cms.php:252
3   JApplicationSite->dispatch()                                              /libraries/cms/application/site.php:230
4   JComponentHelper::renderComponent()                              /libraries/cms/application/site.php:191
5   JComponentHelper::executeComponent()                              /libraries/cms/component/helper.php:372
6   require_once()                                                              /libraries/cms/component/helper.php:392
7   JControllerLegacy->execute()                                              /components/com_virtuemart/virtuemart.php:124
8   VirtueMartControllerProductdetails->display()                      /libraries/legacy/controller/legacy.php:728
9   VirtueMartViewProductdetails->display()                              /components/com_virtuemart/controllers/productdetails.php:55
10   VirtueMartModelProduct->getNeighborProducts()                  /components/com_virtuemart/views/productdetails/view.html.php:163
11   JDatabaseDriver->loadAssocList()                                      /administrator/components/com_virtuemart/models/product.php:1621
12   JDatabaseDriverMysql->execute()                                       /libraries/joomla/database/driver.php:1123
В файле  /administrator/components/com_virtuemart/models/product.php есть такой кусок кода
Код
public function loadProductPrices($productId,$virtuemart_shoppergroup_ids,$front){

$db = JFactory::getDbo();
if(!isset($this->_nullDate))$this->_nullDate = $db->getNullDate();
if(!isset($this->_now)){
$jnow = JFactory::getDate();
$this->_now = $jnow->toSQL();
}

$q = 'SELECT * FROM `#__virtuemart_product_prices` WHERE `virtuemart_product_id` = "'.$productId.'" ';

if($front){
if($virtuemart_shoppergroup_ids and count($virtuemart_shoppergroup_ids)>0){
$q .= ' AND (';
$sqrpss = '';
foreach($virtuemart_shoppergroup_ids as $sgrpId){
$sqrpss .= ' `virtuemart_shoppergroup_id` ="'.$sgrpId.'" OR ';
}

$q .= $sqrpss.' `virtuemart_shoppergroup_id` IS NULL OR `virtuemart_shoppergroup_id`="0") ';
}
$q .= ' AND ( (`product_price_publish_up` IS NULL OR `product_price_publish_up` = "' . $db->escape($this->_nullDate). '" OR `product_price_publish_up` <= "' .$db->escape($this->_now). '" )
        AND (`product_price_publish_down` IS NULL OR `product_price_publish_down` = "' .$db->escape($this->_nullDate). '" OR product_price_publish_down >= "' . $db->escape($this->_now). '" ) )';
}

$q .= ' ORDER BY `product_price` DESC';

static $loadedProductPrices = array();
$hash = $productId.','.implode('.',$virtuemart_shoppergroup_ids).','.(int)$front; //md5($q);

if(!isset($loadedProductPrices[$hash])){
$db->setQuery($q);
$prices = $db->loadAssocList();
$err = $db->getErrorMsg();
if(!empty($err)){
vmError('getProductSingle '.$err);
} else {
if(empty($prices)){
$loadedProductPrices[$hash] = false;
} else {
$loadedProductPrices[$hash] = $prices ;
}
}
}

return $loadedProductPrices[$hash];
}

То есть этот кусок
Код
$q .= ' AND ( (`product_price_publish_up` IS NULL OR `product_price_publish_up` = "' . $db->escape($this->_nullDate). '" OR `product_price_publish_up` <= "' .$db->escape($this->_now). '" )
        AND (`product_price_publish_down` IS NULL OR `product_price_publish_down` = "' .$db->escape($this->_nullDate). '" OR product_price_publish_down >= "' . $db->escape($this->_now). '" ) )';
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Проблему пришлась решать так перезалил все таблицы VirtueMart с помощью Sypex Dumper после этого открыл и пересохранил все товары вроде заработало благо товаров мало было.
Но вот теперь надо переводить второй сайт с 2,5 на 3 но там товаров гораздо больше свыше 1000 и открывать и сохранять каждый не вариант.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
так все-таки - в таблицах в этих что было с кодировкой? Если там была неправильная - вполне возможно слить дамп, изменить кодировку и залить обратно (я про второй сайт).
Сначала же надо понять причину
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Кодировка стояла utf8 и в таблицах тоже DEFAULT CHARSET=utf8.
Скорее всего при копировании через phpMyAdmin где то криво копировалось ток как через  Sypex Dumper все копирование прошло без ошибок и при сохранении товара ведать база перезаписала таблицы и все заработало
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
ну попробуйте еще раз, слить через дампер базу, удалить из пхпадмина и снова дампером импортировать
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

JLP

  • Новичок
  • 8
  • 0 / 0
Всем привет! Начала сегодня делать сайт на VirtueMart 3.0.10
При сохранении категории из названия категории удаляет кавычки и все, что было в них.
Например, название категории - [Интерьерные RELAX подушки "антистресс"], после сохранения остается [Интерьерные RELAX подушки ].
Изначально, после установки компонента, название сохранилось с кавычками.

Началось это наверное после того, как убрала русские буквы из alias. В administrator/components/com_virtuemart/helpers/vmtable.php в строке $unicodeslugs = VmConfig::get('transliterateSlugs',false); изменила false на true
_______

Оказывается не удаляет.. а просто не показывает в админке в редактировании категории кавычки и все что в них. В базе данных и на самом сайте все хорошо отображается
« Последнее редактирование: 27.10.2015, 15:13:44 от JLP »
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
лучше так /administrator/components/com_virtuemart/virtuemart.cfg в SEO прописать translate
Код
##SEO
    seo_disabled=0
    seo_translate=0
    seo_use_id=0

вот тема http://joomlaforum.ru/index.php/topic,294925.0.html
« Последнее редактирование: 27.10.2015, 15:11:06 от Stasweb »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибки в админке VirtueMart 3.4.2

Автор face2005

Ответов: 0
Просмотров: 1033
Последний ответ 04.05.2019, 18:47:25
от face2005
Fatal error: Call to undefined method JController::getInstance() in......zo2fram

Автор dir.repart

Ответов: 7
Просмотров: 1660
Последний ответ 05.03.2019, 17:19:53
от draff
Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTIO

Автор dir.repart

Ответов: 1
Просмотров: 1773
Последний ответ 04.03.2019, 17:14:40
от draff
Ошибки при выключенной OPC

Автор denism300

Ответов: 0
Просмотров: 1081
Последний ответ 25.12.2018, 18:51:14
от denism300
vmError: Сохранить не удалось из-за ошибки: В доступе отказано

Автор Melkiy

Ответов: 3
Просмотров: 1407
Последний ответ 11.11.2018, 17:27:56
от lexxbry