Archive for Epsilon

Preventing multiple submits in Contact Form 7

I often use a great plugin Contact Form 7 in my work. Initially, this plugin was designed to create contact forms, but after some fiddling with hooks («actions» in WordPress) it turns into a flexible tool for the development of forms for any purpose. Today we will speak about the simple solution of a plug-in problem — ability of re-submition the form.

Read more

Как запретить повторную отправку в Contact Form 7

Я часто использую в своей работе отличный плагин для создания форм Contact Form 7. Изначально этот плагин предназначался для создания контактных форм, но путём некоторых махинаций с хуками (actions в WordPress) он превращается в гибкий инструмент для разработки форм любого назначения. Сегодня речь пойдёт о простом решении одной проблемы плагина — повторной отправки формы. Read more

Isogenic Engine — отличное решение для разработки HTML5 игр

Недавно открыл для себя движок Isogenic Engine. Предназначен для разработки различных приложений (особенно игр) на HTML5/Canvas с поддержкой мультиплеера на базе Nodejs. До сентября сего года исходники движка были закрыты и продавались за денежку, но месяц назад авторы решили полностью открыть его для комьюнити с лицензией MIT (т.е. разрешается использовать в коммерческих разработках). Серверное взаимодействие построено на технологии Valve (которая допускает одновременное обновление мира на сотнях клиентов без лагов и задержек). Read more

Бразильский музон для звонка

Наконец-то я нашёл музыку, которую долго искал. Она звучит в одной из сценок КВН, начиная с 1:16. Пробовал задавать вопросы на разных форумах и Q/A ресурсах, даже на знаменитом stackoverflow. Безрезультатно.

К счастью на quora мне помогли (нашёлся португалоязычный пользователь), который сообщил, что полной версии этой композиции не существует, так как она была написана специально для одного из рекламных роликов Билайна композитором Emanuel Hovaghimian и называется «Palabras». (Видимо, чтобы не иметь проблем с авторскими правами на одну из уже существующих композиций!) Кстати исполнитель судя по акценту — не девушка из Бразилии, скорее всего наша соотечественница. Read more

Простая функция для подсчёта статистики на PHP

Иногда возникает необходимость посчитать некую статистику внутри цикла, чтобы понять, например, сколько таких-то значений встретилось, а сколько таких-то. При этом, конечно же, статистику удобнее всего собирать в массив и там же организовывать счётчики одинаковых значений. Иногда хочется сохранить и сами промежуточные значения, и тогда нужно либо заводить ещё один массив и засовывать значения в него, либо как-то структурировать массив со счётчиками. Read more

Пропали виджеты после обновления WordPress 4.3

На одном из наших сайтов (http://viva-games.ru) после обновления WordPress 4.3 пропали виджеты. Причём, что интересно, стандартные виджеты остались на месте, а кастомные потерялись. После некоторого поиска выяснилось: сие чудо происходило потому, что в коде наших виджетов метод update() возвращал null. Что-то разработчики WP поменяли в ядре так, что виджет, у которого в кастомных настройках хранится null, теперь не отображается. Read more

Защита сайта от брутфорса без правки кода

Wordpress защита от брутфорса

Если Ваш сайт, написанный на базе популярного движка (WordPress, Joomla, Magento и др.), стал сильно тормозить, а в логах доступа сервера Вы видите множество обращений к странице логина или к странице администрирования, знайте — ваш сайт «нашли» боты-брутфорсеры и пытаются подобрать пароль администратора. Read more

Как предотвратить повторный запуск скрипта

В одном из проектов передо мной встала задача предотвратить повторный запуск скрипта, если он уже выполняется. Этот скрипт довольно длинный по времени, запуск этого скрипта производится через равные интервалы времени с помощью cron. При этом я не могу предугадать время выполнения этого скрипта (чтобы, скажем, настроить период запуска cron чуть больше, чем время выполнения скрипта). Поэтому возникает опасность, что cron запустит вторую копию скрипта в то время, когда первая копия ещё не завершила работу, что может привести к непредсказуемым последствиям. Read more

Как быстро искать отличия двух картинок

Порой на просторах нашего «необъятного» интернета, а то и в каких-нибудь книгах или журналах встречаются развлекательно-познавательные задания в стиле «найди N отличий между картинками» и им подобные. Конечно же, будучи до мозга костей программистом, я редко когда соглашаюсь решать подобные задачки «в лоб». А вот что я придумал и пользуюсь регулярно 🙂  Read more

Strict Standards: Only variables should be passed by reference как исправить

Подобная ошибка начала появляться при переходе на версию PHP 5.3, в которой запрещён вызов функции с параметром — константой, если функция ожидает на этом месте ссылки на переменную.

Приведу простой пример. Скажем, у нас есть функция, которая ожидает ссылку на переменную $b:

function myfunc($a, &$b) {
     // Что-то делаем
}

Read more