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

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Доброе время суток. Есть вопрос по CB User List, в частности по фильтру. Проблема в том что он не работает по полю с типом Check Box (Multiple). Другие поля не пробовал, да и не подходят они мне.

Дело было так:
Создаю в CВ Fild Manager новое поле, допустим "Увлечения" с типом Check Box (Multiple);
Задаю несколько десятков значений.
Регистрируюсь на сайте и отмечаю несколько значений.
Создаю новый UserList, в CB List Management.
В поле Filter в первом выпадающем списке выбираю созданное мной выше поле.
Во втором выпадающем списке выбираю Like. Как мне кажется этот параметр указывает на то что выбираться будут те записи поле "Увлечения" которых содержит искомое слово, указанное в третьем поле.

В общем при выборе любого типа фильтрации кроме Great Then список пуст(запись не находится)
При выборе Great Then и наличии нескольких пользователей, выводятся все, у которых отмечено несколько позиций в поле "Увлечения", причем независимо от того что отмечено.

Заглянул в базу данных, там в поле где хранится информация о критериях фильтрации информация записана не словами а двухзначными числами через знак процента что-то вида s(%2%57%57Like%87%45%56). Пытался подправить в базе критерий отбора вручную выбираю LIKE. Сохраняю. Но в листе по прежнему пусто.

Мои параметры Joomla 1.5.17 + CB 1.2.2 Кодировка базы данных UTF 8
--------------------------------------------------

Ну ближе к делу.

Как оказалось CB-фильтр не дружит с кирилицей. Искал решение на многих форумах но ничего толкового не нашел. Все попытки исправить данную ситуацию или решить в лоб или обойти не давали результата.

Моя идея может оказаться очередной идеей обойти проблему и я надеюсь удачной, насколько она реализуема решать профессионалам, я в этом ламер.

А теперь сама ИДЕЯ.

Я подумал раз CB фильтр не понимает кирилицы, ну так и не нада, ему можно подсунуть для фильтрации его любимую латиницу и пусть фильтрует себе на здровье.

Привязываться я буду к Check Box (Multiple), ибо именно фильтр типа LIKE по полю данного типа мне очень нужен.
Так вот идея заключается в том чтобы в промежуток после получения данных из формы типа Check Box (Multiple) заполняемой пользователем и перед занесением их в БД MySQL вставить процедуру транслитерации этих данных в латиницу. Данные будут представлять из себя массив из одного и более слов в кирилице, которые и должны быть транслитированы.

Код функции транслитерации, найденый мной в просторах гугла:
Код
function UpLow(&$string,$registr='up'){
$upper = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ';

$lower = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяabcdefghijklmnopqrstuvwxyz';

if($registr == 'up') $string = strtr($string,$lower,$upper);
else $string = strtr($string,$upper,$lower);

} //function UpLow(&$string,$registr='up') может и не пригодится, но на всякий случай выложил.

 

function rus2lat($s) { // Функция обратимой перекодировки кириллицы в транслит.
// Сначала всё переводим в верхний регистр, причём не с помощью глючной strtoupper
UpLow($s);
//а потом только кириллицу в нижний

$s=str_replace('ЫА','yha',$s);
$s=str_replace('ЫО','yho',$s);
$s=str_replace('ЫУ','yhu',$s);
$s=str_replace('Ё','yo',$s);
$s=str_replace('Ж','zh',$s);
$rus = 'АБВГДЕЗИЙКЛМНОПРСТУФХЦ';
$lat = 'abvgdezijklmnoprstufxc';
$s = strtr($s, $rus, $lat);
$s=str_replace('Ч','ch',$s);
$s=str_replace('Ш','sh',$s);
$s=str_replace('Щ','shh',$s);
$s=str_replace('Ъ','qh',$s);
$s=str_replace('Ы','y',$s);
$s=str_replace('Ь','q',$s);
$s=str_replace('Э','eh',$s);
$s=str_replace('Ю','yu',$s);
$s=str_replace('Я','ya',$s);
$s=str_replace(' ','_',$s); // сохраняем пробел от перехода в %20
$s=str_replace(',','.h',$s); // сохраняем запятую
$s=str_replace('"','"',$s); // сохраняем кавычки
$s=rawurlencode($s); // Разрешённые символы URL - латинские буквы, точка, минус и подчёркивание
return $s;
} // function rus2lat($s)

Что мы результате получаем. В базе данных теперь у нас латиница, и по ней можно фильтровать наши поля в CB USER List. Чтобы латиница была только в нужном нам столбце можно организовать проверку по имени поля, а в админке добавить возможность выбора в виде чекбокса адаптировать или нет данное поле для фильтра. Так же нужно чтобы в админке была возможность посмотреть вариант данных в латинице(будет нужно для того чтобы создавать фильтры, хотя с другой стороны можно будет в MySQL глянуть).

Но если данные будут транслитированы то и отображаться в профиле они будут тоже латиницей. Для того чтобы такого не происходило перед выводом этих данных, их нужно будет транслитировать обратно. Код обратной транслитерации приведен ниже:
Код

function lat2rus($s) { // Функция обратной перекодировки транслита в кириллицу
$s=rawurldecode($s);
$s=str_replace('.h',',',$s);// возвращаем запятую
$s=str_replace('_',' ',$s);// возвращаем пробел
$s=str_replace('yh','Ы',$s);
$s=str_replace('yu','Ю',$s);
$s=str_replace('ya','Я',$s);
$s=str_replace('yo','Ё',$s);
$s=str_replace('shh','Щ',$s);
$s=str_replace('eh','Э',$s);
$s=str_replace('sh','Ш',$s);
$s=str_replace('ch','Ч',$s);
$s=str_replace('qh','Ъ',$s);
$s=str_replace('zh','Ж',$s);
$lat = 'abvgdezijklmnoprstufxcyq';
$rus = 'АБВГДЕЗИЙКЛМНОПРСТУФХЦЫЬ';
$s = strtr($s, $lat, $rus);
return $s;
} // function lat2rus($s)


Прямая и обратная транслитерации полностью обратимы на 100% - проверено!

Вот и все.
Только вот осуществить идею мне пока не по силам, не достаточно знаний (((
« Последнее редактирование: 16.05.2010, 00:06:36 от orsy »
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Re: CB User List почему не работает фильтр?
« Ответ #1 : 14.05.2010, 19:49:47 »
Скажите хоть на сколько это реально и стоит ли выделка овчинки?
« Последнее редактирование: 16.05.2010, 00:08:04 от orsy »
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
Слишком сложно все, проще способ есть.

После создания самого значения Field Manager'e, в базу заносятся кракозябры.
Вот то, что занеслось, заменяем на нормальный текст в кодировке UTF-8.

Все фильтры юзерлистов будут работать.
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Слишком сложно все, проще способ есть.

После создания самого значения Field Manager'e, в базу заносятся кракозябры.
Вот то, что занеслось, заменяем на нормальный текст в кодировке UTF-8.

Все фильтры юзерлистов будут работать.


у меня значения вариантов мультичекбокса в базе не крякозябрами, а нормальным тектом...
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
UTF-8?
У меня аналогично - все работает
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
UTF-8?
У меня аналогично - все работает

у меня в базу крякозябры заносятся только в ячейку с данными для фильтра
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
Все верно, а когда меняешь кракозябры на валидные значения не меняя синтаксис, что происходит?
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Данных вариант решения есть на данном форуме, но он у меня почему-то не работает ((( и еще прикол такой фильтр LIKE так же не хочет у меня работать с числами и с численно буквенными значениями(имеется ввиду латиница). Работает только с чистой латиницей (((
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
Если не работает, копай синтаксис
Вот пример с моей базы:
s(`cb_searched` ='1' AND `cb_xcity` LIKE'Астрахань')
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Если не работает, копай синтаксис
Вот пример с моей базы:
s(`cb_searched` ='1' AND `cb_xcity` LIKE'Астрахань')

уверен проблема действительно в синтаксисе, только вот куда копать не пойму, при прямом запросе к базе данных метод фильтрации типа LIKE работает на ура, видимо CB неверно строит запрос, только вот где он строит этот запрос я не могу найти...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ищу фильтр, выбор Область-Город и звуковой сигнал на новые объявления - кто знает?

Автор nick71

Ответов: 0
Просмотров: 1465
Последний ответ 24.03.2015, 13:11:17
от nick71
Заголовок списка (List) в теге h1 - как сделать?

Автор andre46

Ответов: 1
Просмотров: 1772
Последний ответ 14.02.2015, 17:05:17
от andre46
Нет доступа в User Manager

Автор Tier_WerWolf

Ответов: 0
Просмотров: 1655
Последний ответ 03.11.2013, 11:30:19
от Tier_WerWolf
Не работают вкладки Configuration и User Management

Автор Babyaka

Ответов: 2
Просмотров: 2316
Последний ответ 08.07.2013, 15:47:17
от Babyaka
Фильтр по полу в поиске и user листе

Автор rbarom

Ответов: 1
Просмотров: 1922
Последний ответ 02.08.2012, 06:56:58
от AlexSmirnov