Вывод содержание загруженной FB2 книги в Drupal

Продолжаю цикл статей о создании электронной библиотеки на Drupal 7. В прошлой статье я рассказал о модуле, который позволяет загружать на сайт книги в формате FB2 и создает из них ноды. Сегодня же я покажу, как можно вывести содержание загруженной тем модулем книги. Кому интересно, прошу под кат.

Создание ноды в Drupal по загруженной FB2 книге.

Потихоньку работаю над проектом электронной библиотеки книг в формате FB2, и решил использовать для нее Drupal. Собственно, вся логика библиотеки будет заключаться в пакете модулей «FB2». Модули пишу строго под нужды конкретного проекта, поэтому пока не планирую выкладывать их целиком, а лишь опишу принцип их работы и приведу наиболее интересные и важные участки кода. А …

Continue reading ‘Создание ноды в Drupal по загруженной FB2 книге.’ »

Валидация форм на HTML5 по pattern и AJAX.

Как известно, HTML5 предоставляет нам много новых плюшек для контроля вводимых пользователем данных в текстовые поля форм. Это позволило сильно облегчить JS-валидацию форм в нашей системе интернет-банкинга. Однако, столкнулся с досадным моментом: каждый браузер по своему изменяет внешний вид полей при неправильном вводе. Кроме того, основная валидация происходит при вызове метода Submit формы. У нас …

Continue reading ‘Валидация форм на HTML5 по pattern и AJAX.’ »

Отправка XML методом POST в C#

Ох, что-то давно я ничего не писал… Дедлайн ближе — посты реже 🙂 В процессе прикручивания к интернет-банку платежной системы QIWI возникла необходимость слать XML POST-запросом на определенные URL и смотреть, что приходит в ответ. Чтобы не ворочать ради этого всю систему интернет-банкинга и не собирать нужную информацию по текстовым логам сервера, склепал на .Net …

Continue reading ‘Отправка XML методом POST в C#’ »

Вычисляем Internet Explorer 11 или почему Jquery распознает его как Mozilla Firefox 11

В пятницу вечером обновился до IE 11 и ушел с работы. Дома для веб-серфинга пользуюсь только Firefox’ом. Сегодня утром, придя на работу, продолжил изменять интерфейс нашего интернет-банкинга. В свежих версиях Firefox, Opera и Chrome все было отлично, а вот при попытке залогинится через IE 11 получил сообщение «Браузер Mozilla Firefox 11 не поддерживается.». Для проверки …

Continue reading ‘Вычисляем Internet Explorer 11 или почему Jquery распознает его как Mozilla Firefox 11’ »

Получаем локальный IP и Mac посетителя на сайте

Возникла задача: необходимо записать в лог, с какого локального (внутреннего) IP и MAC (на случай включенного DHCP внутри подсетки)  адресов клиент зашел на сайт. Если разбирать заголовки запроса на сервере, то мы получим лишь его внешний IP. Если пользователь сидит за NAT’ом, то это нам практически ничего не даст.  Что же делать? Запускать что-то на …

Continue reading ‘Получаем локальный IP и Mac посетителя на сайте’ »

wp-cron.php грузит процессор

В выходные зашел на один из своих сайтов кое-чего подправить, и заметил жуткие тормоза в его работе, (даже несмотря на то, что он практически полностью кэшируется в memchached). Озадаченный этим, полез в админку хостера и обнаружил, что мой аккаунт полностью грузит процессор, при этом нагрузка на БД минимальна. В логах использования ЦП часто встречались строчки …

Continue reading ‘wp-cron.php грузит процессор’ »

Валидация даты на JavaScript

Для ввода дат на сайтах я обычно использую замечательный плагин Jquery Datepicker, выставляя текстовому полю, к которому он привязан, режим readonly. Таким образом, я точно знаю, в каком формате введенная дата придет на сервер, и как ее там обработать (но не забываю о проверке введенных данных на стороне сервера!). Однако, недавно возникла задача разрешить ручной …

Continue reading ‘Валидация даты на JavaScript’ »

Сказ о том, как крутой программист не мог Windows с флэшки поставить

Некоторое время назад стал "счастливым" обладателем ноутбука фирмы DNS. Практически сразу на него была поставлена Ubuntu и поднят LAMP. Однако все течет, все меняется, и в итоге мне понадобилось разработать довольно крупное приложение на ASP.NET, а для этого нужна ОС Windows. Привычным движением записал на стационарном компе программой UltraISO образ новенькой 8-ки на флэшку, пихнул …

Continue reading ‘Сказ о том, как крутой программист не мог Windows с флэшки поставить’ »

Drupal: запрет кэширования страницы модуля

Столкнулся недавно с такой проблемой: на сайте www.carhelpinfo.ru, работающим под Drupal, есть форма для поиска автомобильных запчастей, реализованная мной в виде отдельного модуля. Доступ к этой форме должен быть у всех пользователей, даже анонимных. Для ускорения работы сайта используется Memcached. С включением опции кэширования страниц для анонимов сайт открывается практически мгновенно. Но вот беда — …

Continue reading ‘Drupal: запрет кэширования страницы модуля’ »