-
Битрикс – запуск агентов и большой размер таблицы b_stat_path_cache
Разбирался с проблемой на одном сайте клиента – при резервном копировании, обнаружили что размер файла базы данных просто ужасно огромен. Как выяснилось, размер некоторых таблиц (например b_stat_path_cache) переваливал за гигабайт. Вообще, именно за размер этой таблицы отвечают настройки времени хранения в модуле ВЕБ аналитики, конкретно тут: Админка – Настройки – Настройки продукта – Настройки модулей…
-
PHP регурярное выражение – проверка на кириллицу
Повадились иностранные боты заполнять форму заказа на одном из сайтов всякими нерусскими данными. Антикапчю пока вешать не стал – решил сделать простенькую проверку введённых данных на кириллицу (имя должно быть введено кириллицей) Собственно, рабочий код в студию if (preg_match(“/^[а-яё]+$/ui”, $var)) { echo ‘Кириллица!’; }
-
Битрикс меню – структура файла и дополнительные параметры
То ли я читать не умею, что ли что – но в официальной документации я не увидел той информации, которую всё таки нашел в сети и решил оставить себе в блоге в виде справочного поста. Итак, три статьи, которые мне “зашли” – первая, собственно вводная – тоже что в документации, только более понятно – структура…
-
Установка и настройка Сбербанк Эквайринг на 1С Битрикс
Поставили задачу – прикрутить к сайту на 1С Битрикс приём оплаты через Сбербанк Эквайринг. Собственно, особо никаких проблем не возникло, просто по одноименному запросу в Яше ничего подобного не нашел, вот и решил накарябать пару строк 🙂 Итак, после регистрации приходит письмо, где указаны ссылки на сам модуль к Битриксу, данные доступа в личный кабинет…
-
Почтовый спам – поиск и устранение уязвимости на примере Joomla
Сегодня с дата центра пришло сообщение, с жалобой на спам-абузы поступающие от spam-cop.net – соответственно, жалоба на почтовый спам с сайта одного из моих клиентов. Сайт висит на выделенном виртуальном сервере, с выделенным IP адресом на котором хостится один единственный сайт – интернет-магазин под управлением Joomla CMS + virtuemart. Механизм поиска уязвимости описанный ниже можно…
-
Отправка почты с Битрикс CMS через Яндекс
Итак, на новом проекте – интернет магазин по продаже фотообоев даже после всех настроек почты, опубликованных ранее (пост 1, пост 2) почта на GMail, полученная с сайта всё равно улетала в спам 🙁 Я попробовал отправить с этого же сайта почту скриптом через Яндекс (домен уже был привязан через pdd.yandex.ru к Яндексу, MX запись так…
-
Вставляем видео с ютуба на сайт адаптивно
На авторство не претендую, просто оставлю себе готовое решение, чтоб не искать потом по просторам сети Код фрейма оборачиваем блоком с классом video, размеры фрейма можно не указывать .video { position: relative; padding-bottom: 56.25%; /* задаёт высоту контейнера для 16:9 (если 4:3 — поставьте 75%) */ height: 0; overflow: hidden; } .video iframe { position:…
-
windows 10 – после обновления драйверов пропал звук
Собственно, после обновления какого именно драйвера пропал звук я так и не понял, т.к. прошел все, которые могут отвечать за звук – нигде не было варианта откатить драйвер. Тем не менее после того, как свежеустановленной windows 10 подключаешь интернет, через некоторое время звук просто перестаёт работать. Причём в драйверах никаких ошибок, служба windows audio работает…
-
Javascript – cохранение и восстановление введённых значений при обновлении страницы
Работаем на странице с полями для ввода данных, например заполняем какую то анкету – случайно закрыли или завис браузер, или просто обновили страницу и херак – все введённые данные пропали 🙁 знакомая ситуация? думаю что да Для решения этой задачи на просторах родного рунета нарыл такой скриптик на нативном яваскрипте if (window.localStorage) { var elements…
-
Моментально отдаем файл с помощью PHP
Пост из разряда “закладка” Сразу сама функция по отдаче файлов function file_force_download($file) { if (file_exists($file)) { // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт // если этого не сделать файл будет читаться в память полностью! if (ob_get_level()) { ob_end_clean(); } // заставляем браузер показать окно сохранения файла header(‘Content-Description: File Transfer’); header(‘Content-Type:…
-
Передача в PHP многомерного массива AJAX запросом
С многомерными массивами в javascript беда, а уж с передачей многомерного массива AJAX запросом – тем более. Не буду долго рассказывать о своих страданиях 🙂 сразу готовое, красивое решение data = new Object(); for (i = 0; i < games.length; i++) { data[‘games[‘ + i + ‘][name]’] = $(games[i]).find(‘.game-name’).val(); data[‘games[‘ + i + ‘][img]’] =…
-
Как передать массив из PHP в Javascript
[script] var obj = [? echo json_encode($php_variable); ?]; [/script] (вместо квадратных скобок – ставим ) В переменной $php_variable может быть любой PHP массив.
-
Input для телефона с флагом, кодом страны, валидацией и maskedinput
Для реализации задуманного я выбрал плагин intl-tel-input Вроде всё в нём замечательно, кроме отсутствия очевидно необходимого maskedinput – то есть в поле для ввода телефона, скрипт спокойно даёт вводить буквы и прочую ересь. Для решения этой задачи я выбрал jquery плагин maskedinput А вот с реализацией объединения оказалось не всё так тривиально, но и тут…
-
Javascript автоматизация работы с сайтом в консоли браузера
Столкнувшись с проблемой чистки ящика Яндекс.Почты нашел интересную статью, в которой предлагалось автоматизировать работу с ящиком открыв консоль и вызвав там самописную стороннюю фукнцию, выполнявшуюся в бесконечном цикле! Идея работы с реальным контентом сайта самописным кодом, да ещё в бесконечном цикле мне очень понравилась, пока не знаю где применю – но однозначно в закладки!!! (function(){…
-
JQuery tabs – как сделать простые табы (вкладки)
Не претендую на авторство, вырвал из видеоурока по вёрстке Очень простая реализация табов – буквально несколько строчек. $(“.tabs li”).click(function() { var tabName = $(this).attr(“data-tab-name”); $(this) .addClass(“active”) .siblings() .removeClass(“active”); $(“.tab-content.” + tabName) .addClass(“active”) .siblings() .removeClass(“active”); }); У лишек должен быть атрибут data-tab-name одноимённый с классом содержащим контент. Рабочий код с минимальной стилизацией – ссылка.
-
Как быстро и просто вставить SVG иконки на сайт?
Продолжаю ковыряться в методиках современной вёрстки, сегодня нашел отличный ролик на тему работы с SVG иконками. Собственно ролик https://www.youtube.com/watch?v=R2YC3SrTYHk Если в 2х словах о технологии – необходимые иконки загружаются в онлайн сервис https://icomoon.io/ (жмякаем в правом верхнем углу по ссылке IcoMoonApp) (кстати там тоже есть хорошая библиотека, например я именно там и взял бесплатные иконки)…
-
Возможно ли быстрое саморазвитие?
Если Вы более конкретный и прямолинейный человек и понимаете, что Ваше вектор развития вполне конкретен – например Вы видите себя программистом, то для Вас больше подойдут конкретная техническая литература, а лучше курсы – тогда рекомендуем Вам посетить сайт webshake.ru где Вы найдёте массу интересных курсов, например https://webshake.ru/kurs-php-dlya-nachinayushih – курс по PHP для начинающих. Нет ни малейших…
-
Лайфхак – как быстро почистить почту GMail
С некоторых пор гугл начал ругаться на заканчивающееся свободное место и предлагать приобрести дополнительное и как оказалось все 15 гигабайт у меня забиты именно почтой, которую я тотально не чистил ещё ни разу. Первое что пришло в голову – удалить письма с объёмными вложениями, проще говоря самые тяжелые письма Запрос в gmail larger:10M помог мне…
-
Технологии современной вёрстки pug + gulp + sass + sublime text + emmet
Последнее время совершенно нет времени даже на пост в блоге – помимо текущей работы погрузился в технологии современной вёрстки. Собственно, случайно наткнулся на видео FrontCoder-a Современная верстка сайта с нуля и понеслось … Информации для переваривания ОЧЕНЬ много, и вся на вес золота! Одно дело изучать сухую теорию, другое дело видеть своими глазами непосредственно процессинг,…
-
Установка сертификата для https – как проверить валидность ключевых файлов?
Итак – присылает клиент приватный ключевой файл и файлы сертификата (сам сертификат, корневой и промежуточный), задание – прикрутить к nginx и настроить https Делаю всё как обычно – нифига! nginx валит ошибку и всё тут, хоть убейся nginx: [emerg] SSL_CTX_use_PrivateKey(“/etc/nginx/ssl/site.key”) failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) Уже всяко разно перепробовал, всё перепроверил – нихрена!…