Автор: gtalex

  • Битрикс – запуск агентов и большой размер таблицы 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) Уже всяко разно перепробовал, всё перепроверил – нихрена!…