Сборка .:: RSJoomla ::.

arman29

Генератор идей
Регистрация
30 Июн 2008
Сообщения
1.248
Реакции
754
logo.png
j10.gif
j15.gif
j16.gif
j17.gif
Все расширения от студии RSJoomla​

Обновление от 30.08.2011
5a7e9b3c13aa.jpg
[/spoil]30% скидка на все расширения от RSJoomla - кто использовал данный код, обязательно отписаться в теме.[spoil] [/spoil]Ссылки[spoil]

p.s. Не говорите, что это старье. Выложил то, что было на компе. Выкладывайте свои новые версии, буду обновлять первый пост

Старая закрытая тема обсуждения RSForm тут:
Для просмотра ссылки Войди или Зарегистрируйся
 
Привет.
Подскажите, кто-то делал свою проверку полей, например номера телефона? Встроенная никуда не годится - там формат ввода не соответствует мобильному номеру.

Тут есть два варианта:
1) Вставить свой код в файл /components/com_rsform/helpers/validation.php. Но это не удобно (при обновлении RSForm правки будут слетать).
2) (Для версий старше 1.51.0) Для просмотра ссылки Войди или Зарегистрируйся и поместить его в ту же папку.

Ниже приведены коды для:
- проверки русских букв
- проверки русского телефона (на форматы +7(777)777-7777 или 8(888)123-45-67 (в последней части телефона может быть любое число дефисов:((
- проверки всех телефонов СНГ (Россия, Украина, етс), а также всех международных (США, GB, EU, Африка, Азия и т.д.)

1. Валидация только кириллических символов:
Код:
---------------------------------------------------------------------------------------------------------------------------
// Валидация русских букв
public static function RussianLetters($param,$extra = null)
{
if(strpos($param,"\n")!== false)
$param = str_replace(array("\r","\n"),'',$param);

for($i=0;$i<strlen($param);$i++)
if(strpos($extra,$param[$i]) === false && preg_match('#(/^[а-яА-ЯёЁ\s]+/)#', $param[$i]))
return false;
return true;
}
// Конец
---------------------------------------------------------------------------------------------------------------------------
Просто вставим этот код 18 строчкой в файл /components/com_rsform/helpers/validation.php и у Вас появляется новый тип проверки поля (RussianLetters) в админке компонента RS!FORM

2. Валидация российских мобильных номеров
Код:
---------------------------------------------------------------------------------------------------------------------------
// Валидация российских номеров
public static function phonenumberRUS($value)
{
return preg_match("/\(?\b^( +)?((\+?7|8)?)?((\(\d{3}\))|(\d{3}))?( )?(\d{3}[\- ]?\d{2}[\- ]?\d{2})( +)?$\b/i", $value);
}
// Конец
---------------------------------------------------------------------------------------------------------------------------
Вставляем код все в тот же файл /components/com_rsform/helpers/validation.php допустим 144 строчкой (с учетом вставленного кода выше) и у Вас снова появляется новый тип проверки поля (phonenumberRUS) в админке компонента RS!FORM

Лично проверено - работает в RSForms 1.51.14, Joomla 3.5.1

Источник: Для просмотра ссылки Войди или Зарегистрируйся

UPD:

3. Добавил свой код валидизации "всех международных телефонов" (СНГ (Россия, Украина, етс), а также всех международных (США, GB, EU, Африка, Азия и т.д.)).
Плюс разрешает мелкие описки пользователя (если телефон остается понятен).
Проверяет структуру ввода на соответствие шаблону:
- пустое место в начале;
- затем может быть + (а может и не быть) ;
- затем 10-14 знаков;
- А МЕЖДУ ЗНАКАМИ по 0-2 символов из множества "-", " ", "_", "(", ")", ":", "=", "+") в любом порядке
(в разных местностях и социальных группах приняты самые разные способы разбивания номера на группы цифр,
и самые разные знаки между ними
+возможны мелкие описки пользователя - если телефон понятен, мы это пропускаем).
- пустое место в конце
----------------------------------------------------------------------------------------
// Валидация любых международных номеров (пустое место, затем может быть +, затем 10-14 знаков) А МЕЖДУ ЗНАКАМИ по 0-2 символов из множества "-", " ", "_", "(", ")", ":", "=", "+")
public static function phonenumberRusUaUsaEurStrict($value)
{
return preg_match("/^(\s*)?(\+)?([- _:)(=+]?\d[- _:)(=+]?){10,14}(\s*)?$\b/i", $value);
}
// Конец

----------------------------------------------------------------------------------------
! Вместо двух смайликов в коде нужно поставить два символа ")" и "=" идущих подряд. Написать их здесь не могу - так как "добрый код" форума нуллед заменяет их при сохранении текста на смайлики ))). Смотрите также в приложенном файле

UPD2:
В RSForm версий старше 1.51.0 вместо ввода кода в файл /components/com_rsform/helpers/validation.php Для просмотра ссылки Войди или Зарегистрируйся и поместить его в ту же папку.

Ссылка на готовый файл customvalidation.php с тремя указанными проверками:
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование:
это не 1.51.16, внутри >>> com_rsform_1.50.16_j25j3x
последняя версия
15 April 2016 - Version 1.51.14
  • Updated - Configuring emails should be more intuitive now.
  • Updated - RTL improvements to Form Layouts.
  • Fixed - Calendar formats were not parsed correctly in some cases.
  • Fixed - Placeholder dropdowns did not work correctly on Google Chrome.
  • Fixed - Placeholder dropdowns added an incorrect delimiter to "Reply To" fields.
 
  • Нравится
Реакции: iqdr
это не 1.51.16, внутри >>> com_rsform_1.50.16_j25j3x
последняя версия
15 April 2016 - Version 1.51.14
  • Updated - Configuring emails should be more intuitive now.
  • Updated - RTL improvements to Form Layouts.
  • Fixed - Calendar formats were not parsed correctly in some cases.
  • Fixed - Placeholder dropdowns did not work correctly on Google Chrome.
  • Fixed - Placeholder dropdowns added an incorrect delimiter to "Reply To" fields.

Сорри, убрал, действительно 1.51.14
 
Хэш для RSFirewall 2.10.2 на Joomla 3.6.0
Нужно переписать в папку administrator/components/com_rsfirewall/assets/hashes
 
  • Нравится
Реакции: iqdr
Хэш для RSFirewall 2.10.2 на Joomla 3.6.0
Нужно переписать в папку administrator/components/com_rsfirewall/assets/hashes
Официального я не нашёлдумаю его нет для версии rsfirewall 2.10.2 Вы его сами сделали.
Кстати всем можно легко сделать hash на всю joomla ! И будет проверять всё по hash ? главное не делать Бэкапом , для создания hash на компьютере , а прямым копированием на компьютер , а если на локалке тогда ещё легче, сделал сам и проверил, работает и привязан к всем ,главное установить правильное количество файлов в настройках rsfirewall ? программа для создания hash - md5summer , а остальное всё в блокноте++,главное чтобы ума хватило как перенести столбцы,и поставить кавычки с запитой , по аналогии с 3.5.1.csv сохранять csv прямо из блокнота++
 
Официального я не нашёл, думаю его нет для версии rsfirewall 2.10.2 ...
Хэш делал «на коленках». Для исходника брал официальный релиз, из которого удалил файлы из корня и папку installation.
 
  • Нравится
Реакции: iqdr
Назад
Сверху