Давным-давно, во времена когда Машунька еще не родилась, ипотека еще только оформлялась, а наша Kia Rio только-только была продана, вкралась мне в голову идея — написать свой модуль для маркетплейса битрикс.
Читать дальше…Архив рубрики «программирование» Страница 2
Я уже довольно давно пишу код под битрикс и насоздавал уже много разных инфоблоков с разным набором свойств. Довольно часто приходилось использовать собственные свойства типа Дата/Время, но до недавних пор не приходилось делать по ним выборок.
Читать дальше…3 года назад выкладывал тут проверку ОГРН на JS, вот теперь понадобилась такая же на PHP. Так что выложу и её.
Но в случае с PHP стоит учитывать один нюанс: проверка будет работать корректно только если будет запущена на 64х-разрядной версии PHP. Почему эта же проверка на JS работает в 32х-разрядных браузерах я сказать не берусь. Не иначе как магия.
Собственно код:
Читать дальше…Совсем недавно вся страна снова перешла на зимнее время. Казалось бы, все уже успели обновить и подправить свои конфиги и код приложений, но сегодня я обнаружил еще одно неожиданное место где потребуются изменения – это PHP.
Описание проблемы
Читать дальше…Сейчас всё чаще и чаще для доступа к сайтам как-либо связанным с государством требуется вспоминать свой номер страхового свидетельства, он же СНИЛС. Номер этот можно проверить на корректность, также как и ИНН и ОГРН.>
Формула проверки очень простая: берём первые девять цифр высчитываем сумму всех произведений каждой цифры на номер с конца. Т.е. первую цифру умножаем на 9, вторую на 8 и т.д. Полученную сумму сравниваем с последними двумя цифрами – если совпало – всё правильно. Единственный нюанс это если получилась сумма больше ста, но там надо либо сравнивать с нулём, либо с остатком от деления на 101.
Все эти манипуляции можно записать в одну функцию:
Читать дальше…Постоянно встречается задача проверки наличия значения в массиве. В PHP для этих целей часто используют функцию in_array которая принимает два аргумента: искомое значение (или массив значений) и массив, в котором будет произведён поиск. Если значение найдено, функция возвращает true, в противном случае false.
Описание проблемы
Пока значений в массиве немного, то всё работает быстро. Но как только массив разрастается до 10 000 – 20 000 элементов, начинаются проблемы.
Один мой скрипт должен был проверять элементы на уникальность, сделать это средствами БД не получалось, т.к. массив после запроса к базе модифицировался пару раз. В массиве хранились только числовые id элементов (это пригодится для решения). В какой-то момент элементов стало больше 60 000 и скрипт стал работать по 20-30 с. на локальном хосте, что крайне медленно.
Простым замером времени исполнения участков кода (с помощью функции microtime()) что проблема именно в in_array.
Читать дальше…Есть у нас несколько сайтов под управлением всеми любимой CMS Битрикс (так получилось). Работали они себе, никому не мешали. И тут понадобилось добавить в кратчайшие сроки небольшое взаимодействие с внешними сервисами, написанными на Си++.
Чтобы не возиться с осваиванием новых технологий мы решили воспользоваться модулем Веб-Сервисы (SOAP от Битрикса), входящим в нашу дорогущую редакцию за несколько сотен тысяч рублей (Бизнес Веб Кластер с несколькими сайтами, активно продвигаемый во всех тематических СМИ некоторое время назад) По нему и документация вроде бы была, и пара примеров в интернете.
Прочитали, скопировали пример, поправили код под наши нужды — заработало. Проблема решена — начальство довольно.
Что же случилось?
Недавно нам понадобилось добавить еще одно взаимодействие, несколько более сложное, но по сути тоже элементарное. Клиент должен был отправить нам XML с данными, которые нужно было некоторым образом обработать, а в ответ должна была вернуться информация о результатах обработки. С отправкой XML на сайт проблем не возникло, а вот с ответом ситуация сложилась печальная.
Читать дальше…Очень часто в разнообразных формах ввода данных требуется проверить ИНН на корректность. Делать это нужно в первую очередь на стороне клиента, чтобы избежать повторной загрузки страницы и дать возможность пользователю исправить ошибки.
Читать дальше…Чтобы блог не пустовал, выложу тут простенький скрипт проверки на валидность ОГРН и ОГРНИП(больше на 2 знака). Вдруг кто-нибудь будет искать готовый =)
Читать дальше…ОГРН (основной государственный регистрационный номер) — государственный регистрационный номер записи о создании юридического лица либо записи о первом представлении в соответствии с Федеральным законом Российской Федерации «О государственной регистрации юридических лиц» сведений о юридическом лице, зарегистрированном до введения в действие указанного Закона (пункт 8 Правил ведения Единого государственного реестра юридических лиц).
Затащить работников организации на рабочий форум задача не простая. В связи с этим очень важно учитывать пожелания по необходимому функционалу и оформлению.
Наши работники захотели получить список последних сообщений на форуме, т.к. с помощью этого списка легко можно попасть в активное обсуждение, не прибегая к поиску.
Читать дальше…