Вывод содержание загруженной 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 грузит процессор’ »

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

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

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

Drupal 7: Разные профили пользователей для разных ролей

Тема эта уже многократно поднималась в интернетах, но, как говорится, то-ли лыжи не едут, толи еще что… В общем, для моей задачи мне пришлось перебрать довольно много информации, поэтому я решил собрать все здесь, в одном месте. Итак, задача стоит следующая: на сайте www.carhelpinfo.ru есть две роли: обычный зарегистрированный пользователь и магазин.  В профиле магазина …

Continue reading ‘Drupal 7: Разные профили пользователей для разных ролей’ »

Проблемы отображения GIF-анимации в Internet Explorer

Недавно при изготовлении банера для сайта столкнулся с проблемой отображения анимированного GIF в IE8 на компьютере заказчика. Проявлялось это в том, что слои, становясь прозрачными, оставляли за собой следы: При этом на моем компе во всех браузерах, включая IE, все было нормально. В рунете я практически не нашел упоминаний об этом баге, да и в …

Continue reading ‘Проблемы отображения GIF-анимации в Internet Explorer’ »