Любопытное поведение модуля syslog в шестом Друпале (баг?)

Описание проблемы

На сайте используется Drupal 6 и модуль theme key, который позволяет задавать разный дизайн для разных страниц. Столкнулся с неприятной и трудноуловимой проблемой: есть 2 полностью идентично настроенных (как казалось изначально) сервера, на одном из которых theme key отрабатывает корректно, а на втором нет — все время отображает контент в дефолтной теме оформления. Похожая проблема также встречалась в другом проекте, не использующем theme key, на странице управления блоками.

После некоторых экспериментов удалось выяснить, что сервера отличаются настройкой PHP error_reporting. На глючащем сервере она была задана так:

error_reporting = E_ALL & ~E_DEPRECATED

на работающем так:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE

Обновление этой настройки на некорректно работающем сервере решало проблему. Может показаться что это магия какая-то, мне так изначально и показалось: ну какое отношение имеют сообщения, выводимые в лог, к работе модулей и выбору темы оформления Друпала? В итоге, оказалось, имеют самое непосредственное отношение. Ниже описание причины проблемы и её решение.

Читать дальше ➠

Разработал модуль "Адаптивное меню" для Drupal 6

Модуль позволяет пользователям формировать меню, состоящее из любых ссылок, как внешних, так и внутренних. Фичи модуля достаточно добавить URL, заголовок страницы будет получен автоматически; сортировка элементов меню осуществляется простым перетаскиванием; все действия пользователя обрабатываются при помощи технологии AJAX, по этому интерфейс не усложнен лишними вопросами или перезагрузками страницы.

Читать дальше ➠

Проверка имени пользователя на наличие букв из разных алфавитов

Иногда при работе сайта может возникнуть неприятная ситуация, в которой некоторые ушлые юзеры регистрируют себе логин, похожий на имя уже существующего пользователя, при этом одна или несколько букв в имени заменяется аналогичной буквой из другого алфавита. Например, в моем нике русскую букву “о” можно заменить английской, для системы ник Рoмка с английской “о” будет уникальным и он будет без проблем зарегистрирован, а для обычных читателей эти два ника могут показаться идентичными, особенно если хулиган скопирует себе еще и данные из оригинального профиля пользователя.

Специально для борьбы с таким хулиганством я сделал небольшой (буквально 20 строчек) модуль для шестого Друпала, который запрещает регистрировать имена, в которых используются буквы более чем из одного алфавита.

Читать дальше ➠

Вышел Drupal 6.0 beta 1

После 8 месяцев разработки вышла первая бета-версия мощной OpenSource CMF Drupal семейства 6.х. Эта бета включает в себя огромное (просто ужасающее :)) количество новых фич как для пользователей, так и для программистов. Разработчики усовершенствовали механизмы работы с базами данных, систему журналирования (logging) и авторизации, для большей безопасности добавили в ядро модуль предупреждения об обновлениях.

Разработчики очень не рекомендуют использовать эту бета-версию на работающих сайтах.

Читать дальше ➠