Новости Joomla

👩‍💻 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 Ответов
  • 4457 Просмотров
*

fiksius

  • Захожу иногда
  • 65
  • 1 / 0
Фильтр плохих слов
« : 11.04.2019, 11:14:31 »
Здравствуйте. Возникла такая проблема на сайте. В форму постоянно пишет какой-то товарищ настойчиво маты, одни и те же, каждый день по 5-6 и больше раз. Не надоедает человеку попросту.
Нужен фильтр слов. На оф форуме нарыт вот такой код

Код
function checkstring($string,$banned_words) {
    foreach($banned_words as $banned_word) {
        if(stristr($string,$banned_word)){
            return false;
        }
    }
    return true;
}
 
$string = preg_replace('/\s+/','', $_POST['form']['field_name']);
$banned_words = array('whatever','bad','word','you','want','goes','here');
 
if (!checkstring($string,$banned_words))
  $invalid[] = RSFormProHelper::getComponentId("field_name");

но он не работает. вместо того что вызвать инвалид инпут. форма все равно сабмитится и после обновления страницы ломается весь сайт.
а ломается, потому что в поле head вообще нет ничего. оно пустое.
плюс проблема код написан под англ слова, а нужно русские.
сталкивался ли кто-то с таким решением? может удалось решить? поделитесь пожалуйста очень надо
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Фильтр плохих слов
« Ответ #1 : 11.04.2019, 11:28:13 »
Попробуйте mb_stristr() вместо stristr(). На счет поведения RS Form ничего не могу сказать, потому что не использую.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Фильтр плохих слов
« Ответ #2 : 11.04.2019, 12:27:47 »
Так форма и будет отправляться. PHP будет на сервере проверять. А имя поля нужно смотреть уже в инспекторе кода. Попробуйте по аналогии с JComments
*

fiksius

  • Захожу иногда
  • 65
  • 1 / 0
Re: Фильтр плохих слов
« Ответ #3 : 11.04.2019, 17:10:05 »
Попробуйте mb_stristr() вместо stristr(). На счет поведения RSForm ничего не могу сказать, потому что не использую.

это я так понимаю относится к понимаю русских слов в массиве?

Так форма и будет отправляться. PHP будет на сервере проверять. А имя поля нужно смотреть уже в инспекторе кода. Попробуйте по аналогии с JComments

проблема не в имени поля
имя поля я знаю
сам код вставляется в область рс форм, которая отрабатывает ДО отправки формы.
т.е. при нажатии отправить должно срабатывать поле инвалид, типа неверный ввод
если были введены перечисленные слова
*

sivers

  • Живу я здесь
  • 2619
  • 363 / 0
Re: Фильтр плохих слов
« Ответ #4 : 11.04.2019, 21:49:04 »
сам код вставляется в область рс форм, которая отрабатывает ДО отправки формы.
т.е. при нажатии отправить должно срабатывать поле инвалид, типа неверный ввод
если были введены перечисленные слова
то, о чем вы говорите, происходит после отправки таки, но в случае обнаружения ошибки - возврат к форме с выводом ошибок. Если надо действительно ДО отправки проверить, то только с помощью JS (что не годится для защиты от спамеров) или аяксовая валидация - это немного надежней.

Но лучше всего проверять после отправки и если валидация не пройдена - отбрасывать такую отправку. Можно даже с выводом сообщения об успешной отправки - пусть спамер успокоится.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

lenbeton

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Фильтр плохих слов
« Ответ #5 : 13.12.2019, 13:17:26 »
И все таки, есть какое то решение по словам? Заранее благодарен.
*

SeBun

  • BanMaster
  • 4031
  • 259 / 5
  • @SeBun48
Re: Фильтр плохих слов
« Ответ #6 : 13.12.2019, 16:03:42 »
Нужен плагин под RSForm? Могу написать, готового не знаю...
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

fiksius

  • Захожу иногда
  • 65
  • 1 / 0
Re: Фильтр плохих слов
« Ответ #7 : 03.03.2023, 11:30:20 »
И все таки, есть какое то решение по словам? Заранее благодарен.
да есть
надо поместить файл в сам компонент
components/com_rsform/helpers/customvalidation.php

в файл добавляете код. увы структура кода нарушена вставкой кода форума, поэтому надо форматировать редактором уже, но не добавляю в виде файла, чтобы потом на будущее вложение не отвалилось. для тех кто ищет решение. не забываем открыть php в файле  ;)
Код

 
defined( '_JEXEC' ) or die( 'Restricted access' );
 
require_once dirname(__FILE__).'/validation.php';
 
class RSFormProCustomValidations extends RSFormProValidations

 
  public static function validationTest($value, $extra = null, $data = 'name')
  {

$banned_words = array('слово','слово');
foreach($banned_words as $item)
{
if (stristr(mb_strtolower($value),$item)) {
  return false;
}
}
return true;
  }
 
  public static function validationTestPhone($value, $extra = null, $data = 'phone')
  {

$banned_words = array('слово','слово');
foreach($banned_words as $item)
{
if (stristr(mb_strtolower($value),$item)) {
  return false;
}
}
return true;
  }
 



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