Маска для поля ICMS2

9734
Доброго времени суток, уважаемые пользователи instantcms.ru!
В продолжение темы Тип поля "номер телефона" ICMS2 + Хак для ICMS1.10.6 - поле переработано.


И так, что изменено... да практически весь предыдущий функционал.
Теперь маска задается в настройках поля, существует возможность задавать маску не только для ввода числового значения, но буквенного (англ., рус.), а также заданных символов.

Вывод поля также изменен, теперь при выборе функции "Выводить изображением" - текст выводиться не набором изображений, а формируется 1 общая картинка формата png.

Созданное изображение хранится в папке upload/text_img_temp
Изображение формируется при вызове страницы с используемым полем, при этом перед созданием нового изображения папка text_img_temp очищается от предыдущих изображений для экономии места (можно изменить данную функцию и хранить изображения постоянно - захотите, расскажу как).
При создании изображения используется шрифт Helvetica_Light-Normal Regular.ttf, находящийся по адресу /system/fields/fields/ (при желании можете изменить на свой).
Также проверено на использование нескольких полей (конфликтов не выявлено) :)

P.S. Внимание! системное имя - fieldPhone, и имена файлов phone.php и phone.tpl.php не изменены!, если планируете использовать совместно со старой версией - изменить на свои (например - fieldMask, mask.php и mask.tpl.php соответственно).
P.S.S. Думаю не стоит напоминать о простых вещах, которые уже должны стать правилом:
1. Использование на свой страх и риск.
2. Перед использованием - проверить на Localhost или тестовом домене.
3. Перед использованием на рабочем проекте - сделать бекап файлов и снять с базы дамп.
Благодарности
Спасибо за внимание!
Тип поля "номер телефона" ICMS2 + Хак для ICMS1.10.6
Комментарии (140)
SEOrigin 18 октября 2015 в 12:53 +4
Круто-круто! Вы молодец!
Dorimen 18 октября 2015 в 14:25 +1
Круто, конечно. Но вот скажите, а что делать, если пользователи могут вводить телефоны разных стран на портальчике? И у Вас стоит +7, а мне нужно +38 установить по-умолчанию - как это сделать? )
Джехутимери 18 октября 2015 в 14:51 +2
Судя по коду, в админке должна быть настройка.
Soul 18 октября 2015 в 16:39 +5
в настройках поля все указано (специально указал в комментарии к настройкам разные варианты и обозначение знаков в масках) - Вы сами определяете как и что могут вводить пользователи.
Конкретно для +38 - маска +38(999)-99... , где +38 - фиксированное число, 9 - любое число от 0 до 9.
Dorimen 19 октября 2015 в 21:56 0
Да для одной страны я понял. Но если для нескольких стран? Ведь указав +38 пользователь уже не сможет +7 указать. А у меня международный проект. ) Но решение очень нужное и хорошо реализованное. Вот только бы додумать такой нюанс.
Soul 20 октября 2015 в 16:47 +1
Ни кто не обязывает вводить по моей маске, проставлять жестко +7 или +38, ставить скобки и тире... можно вообще как-то так +99999999999?9
тогда можно вводить любые числа, знак "?" означает, что после него ввод не обязателен, хотя и возможен на 1 символ (извините, не смотрел "очень внимательно" коды других стран и Украины в частности...).
Dorimen 20 октября 2015 в 17:01 0
Немного не понял. ) Ну вот объясните, как сделать маску, чтоб и для +7 и для +38 можно было одновременно удобно вводить?
Soul 20 октября 2015 в 17:08 +1
+99999999999?9
В международном формате ( и России в том числе) количество цифр в номере 11, в Украине, как я понимаю 12 (плюсь коды есть еще помимо +38).
Вот маска - можно ввести 11 цифр (например для России), а можно и 12 (например для Украины). как расставить разделители и ставить ли вообще - смотрите сами.
Soul 18 октября 2015 в 17:28 +2
Скрытый текст виден только зарегистрированным пользователям
Джехутимери 18 октября 2015 в 17:39 +3
Скрытый текст виден только зарегистрированным пользователям
globator 18 октября 2015 в 20:23 +3
Супер. Планировал заказать что то подобное. Лично для меня не хватает только одно, это добавление в черный список номер телефона. Остальное точно также как и задумал сделать.
Soul 18 октября 2015 в 20:43 +5
Планировал заказать что то подобное.
... cry ну вот, я опять продешевил... а мог бы "денег поднять" laugh
lezginka.ru 18 октября 2015 в 21:20 +1
плюсую!
lezginka.ru 20 октября 2015 в 18:27 0
Soul, можно философский вопрос - почему в благодарностях не указан я.деньги,киви ?
Loadырь 20 октября 2015 в 18:54 0
Всё есть под спойлером
R180804111832 (мой)
в смысле не мой, а его.
Soul 20 октября 2015 в 19:22 +2
Да это так, баловство smile
Хотел бы материальной составляющей - продавал, а так и спасибо достаточно :)
Sergon 21 октября 2015 в 11:38 +2
Soul, спасибо!
Вопрос, можно ли шрифт в картинке увеличить? как?
Soul 21 октября 2015 в 17:00 +3
Для Вас - можно :)
\system\fields\phone.php строка
Код PHP:
  1. imagettftext($img, 12 - размер шрифта, 0, 0, 12 - высота, отведенная под высоту шрифта , $textcolor, $font, $value);
Sergon 28 октября 2015 в 11:54 0
Благодарю!
Алексей 2 ноября 2015 в 19:11 0
Soul, вот бы в автосалоне так - "+" продавцу, "+" производителю, и ключи от новенького порша твои, а дальше на азс плюсовать .... laugh
Алексей 5 ноября 2015 в 11:40 +1
Soul, спасибо за прекрасный продукт, понятные настройки.
и....маленькая тележка вопросов:
1. Значение из профиля пользователя не предлагается и не забирается для использования в типах контента (вывод изображением не включен).
Этот вопрос решаем?
2. Развитие в части осуществления звонка по клику планируется?
Soul 5 ноября 2015 в 12:33 +1
Значение из профиля пользователя
можно, если нужно.
По сути я предложил "механизм", который можно доработать в любом направлении, хоть целые статьи картинкой выводите :)
осуществления звонка по клику
Данную функцию (на мой взгляд) все же лучше использовать в мобильной версии сайта.
Алексей 5 ноября 2015 в 12:54 +1
Не буду настаивать, всё же
Soul:
это так, баловство
, а не коммерческий продукт, но мне кажется забирать поле в типы контента нужно - мне как то сразу "резануло", что чего то не хватает zst
Осуществление звонков - просто вопрос, не более.
Soul 28 ноября 2015 в 15:11 +2
Осуществление звонков
будет в новой версии, плюс еще паку "фишек".
Soul 7 ноября 2015 в 17:30 +1
Проверена работа поля в InstantCMS под версией 2.3.0.. Конфликтов не выявлено v
Dorimen 24 ноября 2015 в 00:43 +1
Выявлены конфликты: Телефон
Notice: Undefined variable: type in /var/www/garly695/data/www/orehovod.com/templates/orehovod/assets/fields/phone.tpl.php on line 22

Dorimen 24 ноября 2015 в 00:53 0
Снимается баг. Что-то сделал - заработало. Связываю это с установленным сторонним хуком, который отключал после обновления, но после включил.
Dorimen 24 ноября 2015 в 01:05 0
Нет, не снимается. Таки есть проблема. Хотелось бы таблэточку для версии 2.3.0. )
Dorimen 24 ноября 2015 в 02:03 0
Проблема решилась добавлением в index.php Error_Reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
Soul 26 ноября 2015 в 17:35 +2
не хорошее решение вносить изменения в системные файлы...
замените строку 22 в phone.tpl.php на
Код PHP:
  1. <?php echo html_input('text',$field->element_name, $value, array('id'=>$field->id, 'placeholder'=>$placeholder)); ?>
Soul 26 ноября 2015 в 17:41 +3
Убедительная просьба, пишите о выявленных проблемах, буду стараться их исправлять (не относиться к проблемам со сторонними шаблонами и "конфликтами со сторонними дополнениями" - делаю все возможное для отсутствия совпадения системных имен и используемых js, css, переменных...)...
Soul 26 ноября 2015 в 17:46 +5
Готовиться новая версия.. Дай Бог время на ее реализацию... :)
Sergey Necr 5 декабря 2015 в 17:17 +1
Приветствую!
Заметил такую штуку... когда ставлю заполнять поле из значения в профиле, то получаем при редактировании добавляется цифра 7 после +7. Я понимаю почему это происходит, потому что хранится в базе телефон как 7911111111, а при редактировании из маски берет +7 ( и здесь) уже подставляет номер из профиля.
Как бы это решить лучше? Может в новой версии решить?
Soul 5 декабря 2015 в 21:27 +2
Спасибо за выявленный недочет. временное решение(поправлю в обновлении):
в phone.tpl.php
после строк
Код PHP:
  1. if(!$placeholder) { $placeholder = $field->getOption('placeholder'); }
добавьте
Код PHP:
  1. $profile_value = $field->getProperty('profile_value');
  2. if ($profile_value !== null) {$phone_mask = "+9(999)999-99-99";};
Sergey Necr 5 декабря 2015 в 22:56 0
А вот такое как решить? Картинка не каКчественная выводится...

не красиво смотрится... Перерыл интернет, не смог найти решения сам, это или из-за использования PNG или не знаю почему так...
Sergey Necr 5 декабря 2015 в 23:17 +2
нашел. меняем imagecolorallocatealpha( $img, 255, 255, 255, 127 ); получаем белый цвет на заднем фоне..
Dorimen 5 декабря 2015 в 23:46 +1
Уважаемый автор, прошу рассмотреть возможно указания масок для разных стран в новой версии. Заранее благодарность от международных проектов.
Soul 6 декабря 2015 в 19:13 +3
постараюсь :)
а пока как вариант можете попробовать следующее в phone.tpl.php
замените на
Спойлер
получите


по умолчанию будет задаваться маска с настроек поля, при выборе страны - меняться. можете по аналогии добавить страны
Dorimen 6 декабря 2015 в 23:23 0
Большое спасибо за понимание и помощь!
Soul 3 января 2016 в 21:18 +2
Ну, что ж, работа по обновлению поля близится к логическому завершению. Благодаря неоценимой помощи Loadырь получилось победить главную проблему - функционал редактирования таблиц БД, за что ему ОГРОМНОЕ СПАСИБО!
На данное время идет тестирование и отладка.
Что нового:
- использование 2 плагинов Query для задания масок;
- поддержка международного формата;
- черный список номеров;
- возможность набора с мобильных устройств;
- исправлены ранее выявленные недостатки.
Dorimen 3 января 2016 в 21:22 +1
Отлично! Особенно про международный формат. Когда можно будет использовать?
Soul 3 января 2016 в 21:25 +2
как только будет уверенность в стабильной работе поля :)
Soul 5 января 2016 в 10:03 0
Soul 5 января 2016 в 10:38 +2
надеюсь я учел все пожелания, озвученные в комментариях.
Dorimen 5 января 2016 в 10:51 0
Отдельное спасибо за функцию "позвонить с мобильного". Но где же функция поддержки номеров разных стран и выбора страны?
Dorimen 5 января 2016 в 10:55 0
И да, теперь нужно удалить старые поля и загрузить новое решение как в видео?
Soul 5 января 2016 в 11:14 +2
Ничего удалять не нужно. Установка нужна только для создания таблицы БД для хранения номеров черного списка (единые номера для всех созданных полей).
В дополнениях новый архив еще не выложен (только подправлен старый). для распространения расширенной версии жду ответов от тестеров smile .
Dorimen 5 января 2016 в 11:25 0
Но где же функция поддержки номеров разных стран и выбора страны?
Soul 5 января 2016 в 11:41 +3
Упустил этот момент в видео. Это функция 'Автоматический подбор маски' - в зависимости от набора пользователем маска формируется автоматически для разных стран. Вечером приеду домой, сниму этот момент подробнее.
Dorimen 5 января 2016 в 11:43 0
Спасибо
Loadырь 5 января 2016 в 11:53 +3
А в платной версии этого типа поля будут доступны такие фичи:
функции автодозвона и напоминания в случае, если собеседник недоступен,
функция заказа звонка, (пусть сам звонит, ему это надо больше, чем мне),
привязка к мапсу с отображением "где сейчас находится мобильник", с предупреждением, что номер в роуминге,
геозонирование звонков, из каких зон принимать звонки из каких нет? smile
Loadырь 5 января 2016 в 11:58 +1
Это был один вопрос "Будет или нет?". А не описание факта.
Soul 5 января 2016 в 15:57 +1
Ну, если с Вашей помощью, - обязательно будет smile .
Последние пару пунктов сомнительны, а вот первые два очень даже реализуемы smile .
AndroS 5 января 2016 в 17:46 0
Круто! Для черного списка не помешало бы напротив номера поле для комментариев, по какой причине номер в ЧС!
Soul 5 января 2016 в 18:07 +2
Оставим чего-нибудь для "обновлений" smile возможно учту и этот момент smile .
Soul 5 января 2016 в 16:40 +3
Автоматическое формирование маски для телефона в зависимости от ввода пользователем.
Dorimen 5 января 2016 в 17:57 0
Круто. Ждём, когда можно будет скачивать!
AndroS 5 января 2016 в 18:10 0
Так же ж можно же ж - ссыль в каталоге есть...
Soul 5 января 2016 в 18:24 0
"Ссыль" на базовую версию. Расширенная еще на стадии тестирования.
AndroS 5 января 2016 в 19:41 +1
То есть, на видео не то, что в архиве? Правильно я понимаю?
Soul 5 января 2016 в 19:47 +1
на данный момент - да.
AndroS 8 января 2016 в 14:32 0
Можно сделать хотя бы, чтоб в бесплатной версии была функция "позвонить" для мобильных юзеров?
AndroS 5 января 2016 в 18:10 +1
Большое спасибо за нужную разработку!

Вопрос такой: вроде как планировалась платная расширенная версия поля или нет? В любом случае мои предложения по улучшению поля:

1. Сделать на каждый номер отдельное предупреждение либо выпадающий список из нескольких возможных вариантов, типа "Был ранее замечен за мошенничеством", "Находится в черном списке пользователей" и т.д. Возможно, блокировать публикацию контента с номером из ЧС...
2. Сделать иконку предупреждения типа "Что это?", при нажатии на которую всплывает уведомление, по какой причине данный номер внесен в ЧС и каким образом связаться с администрацией для разруливания проблемы с номером.
3. Для подставленных номеров из профилей пользователей в случае блокировки или бана пользователя, а также его удаления из списка юзеров сайта, делать соответствующую пометку у его номеров в контенте! К примеру, был у нас один неадекватный юзер, мы его забанили за агрессивное поведение на сайте, во всех его объявлениях у номеров телефонов стоит пометка "Хозяин данного номера был забанен администрацией сайта по причине {причина}"

Скрытый текст виден только зарегистрированным пользователям
Dorimen 5 января 2016 в 18:37 0
Лучшее - враг хорошего
Def 8 января 2016 в 13:52 0
НА 2.4.0 при установке выдает ошибку

Notice: Undefined index: info in /templates/default/controllers/admin/install_package_info.tpl.php on line 19 v
Notice: Undefined index: version in /templates/default/controllers/admin/install_package_info.tpl.php on line 21 .

Notice: Undefined index: contents in /templates/default/controllers/admin/install_package_info.tpl.php on line 102
Soul 8 января 2016 в 15:47 +1
А что Вы пытаетесь установить? В версии для скачивания ничего устанавливать не нужно, достаточно распаковать содержимое архива согласно иерархии файлов. Установка предусмотрена только в расширенной версии, и то только для создания таблицы в БД.
AndroS 8 января 2016 в 14:51 0
Установил поле, при попытке его добавления - 503 ошибка!
AndroS 8 января 2016 в 14:59 0
Отбой - ошибочка вышла... Это не по этому полю )))
Soul 9 января 2016 в 17:28 +1
Тестирование продолжается. Выявлены "баги" в части формирования запросов к БД - исправлено.
Dorimen 9 января 2016 в 17:48 +1
Ох, как раз сегодня думал, когда же уже закончится тестирование. И вот "баги". )
Soul 9 января 2016 в 17:58 +2
лучше оттестировать, чем распространять в недоделанном виде...
Отловленный "баг" приводил к ошибке 503..
Кстати, огромную помощь в тестировании оказывает Класс расширенной отладки от WebMan
kdv1978 11 января 2016 в 23:26 0
А как будет выглядеть в итоге телефон этого города - _www.kody.su/telcodes/russia/venev ? Так +7(487)450-00-00
Может корректней так делать _andr-04.github.io/inputmask-multi/ru.html
Здесь можно задать маску вплоть до города, единственный минус объем базы с самими масками.
Soul 12 января 2016 в 04:23 +2
А как будет выглядеть в итоге телефон этого города... Так +7(487)450-00-00
в международном формате да.
andr-04.github.io
использовался в первой версии поля, затем отказался от него по ряду объективных причин, тем более он построен на основе другого плангина.
возможность задать маски для городов России тоже есть, однако возрастает нагрузка от подключения js, что очень "тормозит" загрузку страницы (вот этот момент сейчас и пробую исключить).
Sergey Necr 12 января 2016 в 11:05 +2
Вы молодцы, из обычной хотелки вывели такое мощное дополнение.
Soul 12 января 2016 в 16:16 +1
"хотелка" понравилась smile потом "затянуло" ...
kdv1978 12 января 2016 в 16:42 0
"в международном формате да" Но всё таки кодом города наверное является +7(48745)ххххх а используемая сейчас маска как я понял не распознает это, она просто закладывает 3 цифры в код как по её маске указано +7(999).
Я так понял что версия с возможностью задания маски по городам пока не доступна? или можно где то демо посмотреть?
Soul 12 января 2016 в 17:09 +1
Но всё таки кодом города наверное является +7(48745)ххххх
Это как смотреть, в Российском или международном формате.
Я так понял что версия с возможностью задания маски по городам пока не доступна?
"Пару строк" кода, - проблема - получается "очень тяжелый запрос" к файлу масок (js) (коды городов России - более 2500 строк, что очень не благоприятно сказывается на скорости загрузки страницы, даже с точки зрения "рядового пользователя").
kdv1978 14 января 2016 в 02:06 0
Это как смотреть, в Российском или международном формате.
А мы что как то отдельно от международных стандартов в этой области живем? Я так понимаю, далее цитата "Телефонные коды стран определены рекомендациями ITU-T под номерами E.123 и E.164" - Список телефонных кодов стран
Что касается номера +7(48745)ххххх , то
+7 см. выше (зона 7) Россия и Казахстан
7 (400—499) — Россия (регионы Центра и Дальнего Востока)
далее на офф. сайт - Выписка из реестра Российской системы и плана нумерации там ищем диапазон (487...) - Тульская область, (48745) - Веневский район
Т.е. вроде как стандарт един и давно определен и он един для РФ, а от международного формата у нас только +7

Что касается времени загрузки например как у Вас 2500 строк - все более менее крупные города РФ + Беларусь + Коды стран СНГ у меня 2554 строк и загрузка именно поля кодов 0.043 мс или 4.3х10 в -5 сек catalog-firm.org/phone/index.php

Так вопрос в том, что возможно ли будет подцепить к вашей разработке файл масок или нет?
Soul 14 января 2016 в 04:34 +1
А мы что как то отдельно от международных стандартов в этой области живем
+7(487)45х-хх-хх - международный
+7(48745)х-хх-хх - Российский
у меня 2554 строк и загрузка именно поля кодов 0.043 мс или 4.3х10 в -5 сек
Предложите свой вариант.
catalog-firm.org/phone/index.php
А попробуйте включить в cms и посмотрите результат.
Да и используемые версии плангинов давно устарели.
Soul 22 января 2016 в 20:15 +1
"Вышел на контакт" с разработчиком плангина, он "признал проблему с российскими масками" (дело в функции перебора значений масок), что не "сказывается" на международных масках, но существенно дает "сбой" при "российском формате".- разработчиком обещано исправить данную проблему (вопрос когда?..).
Отказываться от данного плангина в пользу какого-то другого не "вариант", в виду того, что не найдено "достойных аналогов", а используемый плангин активно развивается.
P.S. kdv1978, мы обсуждаем один плангин, правда в 2012г. рассматриваемая Вами "надстройка" была передана официальному разработчику и включена в офф. версию.
AndroS 14 января 2016 в 02:44 0
У меня идея для расширенной платной версии "поля" - сделать подтверждение номера по смс!..
Soul 14 января 2016 в 04:35 +2
Еще никто не говорил о платности - бесплатности smile .
AndroS 14 января 2016 в 05:09 0
Ну, расширенная ведь будет платной? Али нет?
Soul 14 января 2016 в 19:30 +2
Еще идет работа над приведением "того, что на видео" в "нормальный вид"... нужно учесть все "нюансы", которые возникают в ходе проверки работоспособности (на что, уж простите, катастрофически не хватает одного из самого ценного "ресурса" - времени.., да и не забывайте - я не программист (и ни когда себя так не позиционировал) - есть "некоторые познания", но есть и немало "пробелов") .
Даже если и будет платным - то "чисто за символическую плату".
в любом случае мои предложения по улучшению поля:
сделать подтверждение номера по смс!.
Так и хотите, чтобы простое поле "переросло" в компонент smile .
Ї Ђãîķℳāŋ Ї 14 января 2016 в 11:49 +2
Зачем усложнять жизнь людям? smile Чем проще и доступнее тем более кликабельно и всегда есть возможность прикрутить что - то рядом на выбор пользователя, или не верно ?
Soul 14 января 2016 в 19:36 +3
Чем проще и доступнее
Поддерживаю. - основная задача - упростить "жизнь" себе и максимально - пользователям, а не усложнять... - рядовой пользователь должен максимально просто добавить необходимую информацию, что с ней делать - "заморачиваться" должны уже мы...
Soul 14 февраля 2016 в 10:57 +1
Dorimen 14 февраля 2016 в 11:01 +1
Получается, уже можно пользоваться?
Soul 14 февраля 2016 в 11:26 +1
Запланированный функционал реализован, тестирование прошло (надеюсь удалось предусмотреть все)
Так что выходит - да, можно.
Dorimen 14 февраля 2016 в 11:27 +1
И я прошу прощения, но как обновить, если уже установлена более старая версия?
Soul 14 февраля 2016 в 11:30 +1
Через установку компонентов, - произойдет замена файлов базовой версии, будет создана таблица в БД.
AndroS 14 февраля 2016 в 13:35 +2
за Алису и ее "Родину" отдельный респект! v
Dorimen 17 февраля 2016 в 23:55 +2
А почему нельзя выбрать автоподстановку телефона из профиля?

http://clip2net.com/s/3ut1PFX
http://clip2net.com/s/3ut1Y9P
Soul 19 февраля 2016 в 06:56 +3
Системно в Значение из профиля пользователя можно вывести только поля типов: 'string', 'text', 'html', 'list' (текстовые поля и список)
Для возможности забирать из профиля другие поля, необходимо внести небольшую правку в \system\controllers\admin\forms\form_ctypes_field.php (прописать системное имя поля, в нашем случае 'phone')/
строку 151 привести к виду:
Код PHP:
  1. $fields = $model->filterIn('type', array('string', 'text', 'html', 'list', 'phone'))->getContentFields('{users}');
Dorimen 19 февраля 2016 в 08:44 0
Спасибо. Почти получилось ) Но есть один баг:

1. http://clip2net.com/s/3uwyLVP
2. http://clip2net.com/s/3uwyO6X
3. http://clip2net.com/s/3uwyPYK
Soul 19 февраля 2016 в 08:49 +2
если тип поля номер телефона используется и в профиле и в типах контента для корректного вывода значений необходимо:
- Для базовой версии (статическая маска 1 страны) - привести маску к виду +9(999)999-99-99 (для России)
- Для полной версии (два типа масок) - включить функцию "Автоматический подбор маски".
Dorimen 19 февраля 2016 в 10:26 0
http://prntscr.com/a56lj7 - та вроде через "Автоматический подбор маски"
Soul 19 февраля 2016 в 21:57 +2
"Воспроизвел". Все дело в виде заданной маски. В профиле вы задаете ее вида +38(012)345-67-89 (статической маской), где код страны +38, при выводе в контент маска подгружается автоматически где код страны +380, отсюда подстановка лишнего нуля и обрезание последнего символа.
Выход:
1.Если в профиле используется статическая маска:
привести код страны для обеих масок (статической и динамической) к единому виду (+38 или +380), если все - же для Вас удобнее не +380, а +38 в \upload\phones\phone-codes.js измените маску для Украины (строка 271) с "+380(##)###-##-##" на "+38(0##)###-##-##".
И все же не совсем правильно задавать маску для Украины +38(999)999-99-99 т.к. можно ввести третьим символом например 5 и получить совсем другую страну (Хорватию) правильней будет +38(099)999-99-99 или +380(99)999-99-99.
2. Использовать и в профиле и в контенте динамическую маску ("Автоматический подбор маски").
P.S. Извините, что не отвечаю сразу (с телефона "не сподручно", а на работе "запрет на инет" smile ).
Dorimen 20 февраля 2016 в 00:40 0
http://clip2net.com/s/3uzknvL
http://clip2net.com/s/3uzkp1g

Та вроде и в профиле пользователя, и в настройках объявления указан динамический вывод номера... Или я что-то не так понял?
Soul 20 февраля 2016 в 17:37 +1
Судя по скриншоту (и вашему профилю на вашем сайте) - номер задан статический (возможно Вы использовали еще базовую версию при создании поля, либо задали статическую маску в расширенной), соответственно в этом виде и хранятся записи в базе. (пересохраните значение в профиле, пробегитесь по профилям пользователей (как показывает практика - незначительный процент оставляет свой номер в профиле)).
Вероятность такого развития как у Вас мала, но "прецендент" создан - добавлю "страховку" и на этот случай в обновление.
Dorimen 20 февраля 2016 в 18:05 +1
Ваша правда. Я использовал более раннюю версию маски. Теперь пересохранил свой телефон - все наладилось. 15 пользователей из 500 указало телефон - не сложно поправить ) Хорошо, что я не заставил их указывать номер обязательно )
Dorimen 20 февраля 2016 в 18:10 +2
Добавлю Вам еще работы ) Номера могут быть не только российские и украинские, но и всех остальных стран СНГ. ) Как бы это все продумать тоже )
Soul 20 февраля 2016 в 18:28 +1
В динамической маске они присутствуют. Но на всякий случай пробегусь по маскам еще раз.
AndroS 9 марта 2016 в 18:25 +1
Вижу, расширенная версия в продажу вышла. Обновка с бесплатной версии каким образом происходить будет? Готов приобрести.
Soul 9 марта 2016 в 19:15 +3
да. Пара- тройка человек пользуются еще с февраля и уже успели получить обновление smile .
Обновление с базовой версии - обновление существующих файлов + добавление новых + создание таблицы в БД (установка пакета через админку) + настройка. Сохраненные ранее на страницах контента пользовательские данные не затрагиваются, меняется только их конечный вывод на страницах в зависимости от настроек.
globator 11 марта 2016 в 15:19 +4
Для борьбы с дублированием контента, можно еще добавить функцию "уникальный номер". То есть когда пользователь заходить с другого аккаунта и добавляет объявление ему выдается сообщение что с этим номером объявление уже добавлен (В рамках одного типа контента).
Это еще поможет работать с биллингом. На пример у нас добавление 3 объявления бесплатно, а потом надо платить. Вместо этого пользователи регистрируются повторна что бы не платить smile Но если будет это функция вряд ли так получится.
AndroS 11 марта 2016 в 16:29 0
Хотел предложить подобное, только с одним но... Человек как правило если спамит, то спамит в одну рубрику, потому проверять нужно по рубрикам/категориям.
К примеру, у меня один товарищ в доске объявлений повадился через день один и тот же текст постить, а было бы неплохо добровольно-принудительно его уболтать на закреп в топе в рубрике...
globator 11 марта 2016 в 18:33 0
Надо подумать и с точки зрение реализации. И если спамит то на категорию внимание не обратит если что. Но на уровне типа контента думаю реализовать можно.
У нас на сайте в день добавляют по 100 вакансии и больше половины это про пирамиды. Достали уже. Причем добавляют куда угодна, значение не имеет.
Soul 13 марта 2016 в 08:02 +1
Доброго времени суток. для начала с праздником! масленица все-таки smile . Извините, что не ответил сразу (был вчера на суточном дежурстве). И так... Как Вы, надеюсь, заметили, я охотно стараюсь реализовывать интересные идеи (хоть и со своей точки видения smile ) Фильтровать контент на уникальность, уж извините - не задача поля. Хотя есть одна идея по поводу борьбы со спамом в рамках "полномочий поля" smile . Для начала нужно немного поспать (29 часов "на ногах" без сна, уж простите - не располагают к умственной деятельности...) и свозить детей на "проводы зимы" (тут без обсуждений smile ), потом можно и поработать smile .
P.S. Убедительная просьба, не пишите в ЛС с просьбой о дополнительной доработке за доп. плату (материальная составляющая на последнем месте) - интересные идеи стараюсь реализовывать и доступны они становятся для всех обладателей расширенной версии без исключения.
Андрей 12 марта 2016 в 08:43 0
а для 1.10.6 будут такие доработки?
Soul 13 марта 2016 в 08:37 +1
для 1.10.6 придется "немного хукать" , а вот по поводу "вмешательства" в ядро icms, уж извините, я категорически против по ряду причин.
AndroS 12 марта 2016 в 09:53 0
Почему-то при обновлении в настройках поля пропали дополнительные поля, которые можно было выбрать в пункте настроек "Значение из профиля"
Скриншот, как это выглядит сейчас http://prntscr.com/ae7ecc
А вот какие поля доступны http://prntscr.com/ae7ehj
Soul 13 марта 2016 в 07:36 +1
Возможно потому, что Вы не внимательно прочитали README.MD также есть коммент в данном блоке.
AndroS 12 марта 2016 в 22:32 0
Поле не работает как заявлено на стороннем шаблоне. В частности, не работает функция Позвонить и не отображается текст "сообщите, что нашли объяву на сайте.ру"
Вопрос к разработчику шаблона должен быть адресован или поля?
Soul 13 марта 2016 в 07:42 +2
Дайте ссылку в ЛС - посмотрю. Поле тестируется на чистой icms 2.0 и шаблоне default - уж извините не имею возможности тестировать на всех видах шаблонов и "отлавливать" возможные конфликты со всеми существующими сторонними дополнениями.
AndroS 13 марта 2016 в 08:10 +2
Про сторонние шаблоны вопросов нет. Я потому и спросил, к кому обратиться. Ссылку в ЛС кинул.
AndroS 20 марта 2016 в 18:02 +2
Огромное спасибо Soul за проявленную ответственность и терпение при решении возникших с полем проблем при работе на моем сайте! Всем рекомендую этого замечательного разработчика!
Soul 20 марта 2016 в 18:05 +2
Проблема решена благодаря сотрудничеству и ответственному подходу к своей работе разработчика шаблона ( в т.ч. предоставление файлов платного шаблона для проверки совместимости).
Внесены изменения как в структуру поля, так и в структуру шаблона.
P.S. Изменения войдут в очередное обновление (не существенные, направленные на снижение вероятности конфликта стилей)
P.S.S. Работа над улучшением поля продолжается.
AndroS 27 марта 2016 в 22:27 +1
Что подумалось,по поводу предложений...
Предлагаю сделать такую надстройку для поля: в объявлениях через заданное кол-во времени скрывать номер телефона вовсе и опционально предлагать за отдельную плату получить контакт.
Soul 11 апреля 2016 в 18:21 +1
В перспективе привязка к биллингу рассматривается.
Soul 11 апреля 2016 в 18:20 +1
Отправлено обновление для ICMS2.5 (проверяем почту smile ).
Soul 18 апреля 2016 в 18:52 +1
Обновлена базовая версия поля.
Dorimen 18 апреля 2016 в 22:47 0
А платные? )
Soul 21 апреля 2016 в 05:52 +1
Обновление расширенной версии для icms2.5 разослано ранее (проверьте почту).
Dorimen 21 апреля 2016 в 06:48 0
Мне не приходило. В личку напомню емейл)
Soul 21 апреля 2016 в 06:52 +1
продублировал.
Dorimen 21 апреля 2016 в 06:54 +1
Спасибо. Получил.
Def 22 апреля 2016 в 10:06 0
Сделал правку в файле, как писали $fields = $model->filterIn('type', array('string', 'text', 'html', 'list', 'city', 'phone'))->getContentFields('{users}');

но почему то в тип контента не хочет подгружаться телефон:(

в типах контента и в профиле системное имя phone
Def 22 апреля 2016 в 10:07 0
извиняюсь, ступил. все ок. забыл в поле выбрать поле из профиля)
kdv1978 19 мая 2016 в 01:54 0
Soul скажите не планируется добавить возможность записи в БД в виде массива, т.е. добавление нескольких телефонов?
Soul 20 мая 2016 в 02:34 0
Идея интересная, можно подумать.
А пока - разослано обновление - проверьте свои почтовые ящики.
Dorimen 20 мая 2016 в 05:09 0
В обновлении только адаптация для 2.5.1 или есть что-то новое?
Soul 20 мая 2016 в 08:06 +2
Обновление под 2.5.1 было разослано ранее.
В данной версии добавлена функция запрета на добавления значений из черного списка.
somik 17 февраля 2017 в 11:09 0
При установке выдает ошибку: http://hostingkartinok.com/show-image.php?id=7e2429b2ed2e7e0b7e76ded3e297b3b0

Как установить?
Loadырь 17 февраля 2017 в 11:12 +2
Для установки, надо скопировать содержимое архива в корень сайта.
somik 17 февраля 2017 в 11:31 0
спасибо. не увидел сразу. работает.
Андрей 17 мая 2018 в 02:13 0
Кто купил данное поле, скиньте пожалуйста. Автор после оплаты решил товар не предоставлять. Наверняка у кого есть. Помогите!!!
Алексей 17 мая 2018 в 06:14 0
решил товар не предоставлять
- Soul так Вам ответил? Это же не его метод... Подождите немного, время то позднее
Сегодня в 02:13
@denmois 5 февраля 2019 в 16:42 0
Не понимаю, зачем этот код
Код PHP:
  1. if ($profile_value !== null) {$phone_mask = "+9(999)999-99-99";}; ?>
С ним маска в настройках поля не работает
Нил™ 6 февраля 2019 в 00:32 0
а если убрать в конце лишнюю точку с запятой?
Код PHP:
  1. ;