×

Архив рубрики «программирование» Страница 2

Давным-давно, во времена когда Машунька еще не родилась, ипотека еще только оформлялась, а наша Kia Rio только-только была продана, вкралась мне в голову идея — написать свой модуль для маркетплейса битрикс.

Читать дальше…

Я уже довольно давно пишу код под битрикс и насоздавал уже много разных инфоблоков с разным набором свойств. Довольно часто приходилось использовать собственные свойства типа Дата/Время, но до недавних пор не приходилось делать по ним выборок.

Читать дальше…

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 на сайт проблем не возникло, а вот с ответом ситуация сложилась печальная.

Читать дальше…
0 Проверка ИНН на JavaScript

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

Читать дальше…

Чтобы блог не пустовал, выложу тут простенький скрипт проверки на валидность ОГРН и ОГРНИП(больше на 2 знака). Вдруг кто-нибудь будет искать готовый =)

ОГРН (основной государственный регистрационный номер) — государственный регистрационный номер записи о создании юридического лица либо записи о первом представлении в соответствии с Федеральным законом Российской Федерации «О государственной регистрации юридических лиц» сведений о юридическом лице, зарегистрированном до введения в действие указанного Закона (пункт 8 Правил ведения Единого государственного реестра юридических лиц).

Подробнее

Читать дальше…

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

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

Читать дальше…
logo