Использовать в одном проекте decimal(10,2) и decimal(10,0), причем и то и другое - для денег... it smells a lot.
Ну, и насчет нужности целого поля PLUS/SUB вместо того, чтобы тупо писать сумму со знаком - тоже подозрительно.
Дмитрий, токен вы и формируете, и разбираете сами, так что содержание произвольное.
Простейший бот отправляет сообщения и принимает их. Вы его точно дописали? ;)
Принимает либо через вебхук, но для этого нужен HTTPS на сайте, либо периодическими запросами.
Если бот должен делать, скажем, ежедневную рассылку - достаточно периодических запросов.
Вообще-то довольно странно, что "работает тоже отлично". У меня тут завалялась ХРюшка, на которой SMB1, включил ее в сеть - а она этой сети не видит вообще. А Десяточки, наоборот, не желают видеть той ХР. На SMB-серверах давно поднята версия именно из-за того, что первая уже создает неизбежные проблемы даже в Убунтах.
ffshow16, этот простейший код будет работать только после того, как на странице появились пункты меню.
Воткните его в хедер до их вывода - и он не сделает ровно ничего, даже если подключен jQuery - элементов с таким классом еще нет в DOM.
Поэтому любой подобный код обязательно заворачивается в ready.
Если сайт на хостинге - есть еще нетривиальная опасность: настроить более широкие ограничения по адресу, чем у почтового сервера провайдера, через который будут отправляться письма.
Для практической задачи, имхо, не стоит искать того, что "где-то можно найти".
Если не страшно пожертвовать 0,001% пользователей, которые завели себе настолько фильдеперсовую почту, что имеют с ней проблемы по всему остальному интернету, прогибаться под них на своем сайте смысла нет.
My1Name, например, у меня сейчас на столе лежит письмо (бумажное) от потенциального пользователя, который не смог зарегистрироваться на сайте только потому, что указывал почту через & вместо @. Человеку 76 годиков, он путает. Запрещать - имхо, неверно сказано. Стоит указывать, что такого символа в почте не должно быть.
photosho, можно записывать числа строго в 6, 7 или, если вы большой оптимист, 8 цифр.
Тогда глубину можно будет определять простым сравнением длин строк, даже прямо в БД.
photosho, если у каждого пользователя есть поле, в котором вписано #12345#12346#12555# - то дерево для него вы построите элементарно, а его потомков так же элементарно найдете по LIKE '%#13000#%'.
Вряд ли эти цепочки будут такими уж длинными, а необходимость их получать - такой уж частой, чтобы маяться ради этого рекурсией по базе или JSON-полями.
Обновлять это поле у элементов не требуется, оно пишется один раз.
Возможно, jQuery подключается позже, чем отрабатывают скрипты компонента.
Где-то в Битриксе были настройки собирать все скрипты в кучу - может, это происходит в неудачном порядке или они подключаются только в футере для оптимизации скорости.
Роман Грицук, $arResult в Битриксе - это стандартное имя данных, которые компонент передает в свой шаблон.
Они не валятся в глобальную область видимости.
И вы всерьез расчитываете, что global за вас сделает какую-то магию и вытащит из шляпы данные, которые существуют только в обработке шаблона компонента?
ant123455432143, создание таблицы не означает самостоятельное копание в файлах. Это может быть вызов метода класса, которому делегированы операции с файлами.