xandeadx.ru Блог музицирующего веб-девелопера

DrupalBUEditor 2.0

Опубликовано в

Обновился хороший текстовый редактор BUEditor до версии 2.0.

Изменения

  • CSS спрайты для кнопок (включаются в настройках редактора).
  • Новые кнопки для дефолтного редактора: подчёркнутый, зачёркнутый, цитата, код.
  • Поддержка браузера Opera.
  • Shortcut-ы для всплывающих окон: Esc (закрыть), Enter (клик по ссылке), Up & Down (навигация по ссылкам).
  • Улучшенный административный интерфейс: drag & drop, визуальный выбор иконок и горячих клавиш. Скриншот

DrupalBUEditor one click upload — модуль загрузки файлов в один клик

Делюсь своим модулем BUEditor one click upload — кнопка для BUEditor загрузки картинок и файлов в один клик для Drupal 6.

Модуль успешно работает на двух моих сайтах. В этом блоге практически все картинки и файлы залиты с помощью него.

Возможности

  • Загрузка картинок и вставка html кода прямо в редактор.
  • Автоматическое создание эскизов для картинок превышающих определенные размеры.
  • Интеграция с ImageCache.
  • Загрузка файлов и вставка в редактор ссылки на файл.
  • Мультизагрузка файлов и картинок.
  • Редактируемые html шаблоны, которые вставляются в редактор после загрузки файла.
  • Поддерживаемые браузеры: IE6+, Opera 10.5+, Firefox 3.6+, Chrome 5+

DrupalОфициальные видео уроки от drupal.org

Опубликовано в

DrupalЗачем дублируется заголовок meta http-equiv="Content-Type"

Опубликовано в

Мета-тег с указанием кодировки, всегда должен быть самым первым тегом в head, для того чтобы предотвратить некую encoding-based уязвимость. Комментарий в функции drupal_final_markup:

Make sure that the charset is always specified as the first element of the head region to prevent encoding-based attacks.

А поскольку порядок и наличие заголовков ложится на плечи разработчика темы (шаблона), то нет 100% уверенности в правильности его действий.

DrupalИзменяем содержимое RSS ленты

Опубликовано в

При генерации RSS ленты, для каждой ноды вызывается хук hook_nodeapi() с параметром $op равным rss item. Поэтому можно из своего модуля изменять любые свойства ноды, которые выводятся в ленте, например тизер или заголовок.

Добавляем к тексту список тегов:

/**
 * Реализация hook_nodeapi()
 */
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($op == 'rss item') {
    $tags = array();
    foreach ($node->taxonomy as $tag) {
      $tags[] = $tag->name;
    }
 
    $node->teaser .= '<p>Теги: ' . implode(', ', $tags) . '</p>';
  }
}

DrupalВышел Drupal 6.16

Опубликовано в

Закрыто несколько уязвимостей: cross site scripting при установке, cross site scripting в модуле Locale, и что то с пользовательскими сессиями (Blocked user session regeneration). Оптимизирован модуль Update. Различные мелкие фиксы. Полный список изменений (eng).

Обновиться с версии 6.15 можно по прошлой инструкции. Если при обновлении вылезет сообщение

user warning: Table 'semaphore' doesn't exist query: SELECT expire, value FROM semaphore WHERE name = 'locale_cache_ru' in /includes/lock.inc on line 154.

не обращаем внимание, жмём Update.

DrupalОписание констант WATCHDOG_*

Опубликовано в

WATCHDOG_EMERG — аварийное сообщение: система не работает
WATCHDOG_ALERT — тревога: меры должны быть приняты немедленно
WATCHDOG_CRITICAL — критическое сообщение
WATCHDOG_ERROR — ошибка
WATCHDOG_WARNING — предупреждение
WATCHDOG_NOTICE — примечание
WATCHDOG_INFO — информационное сообщение
WATCHDOG_DEBUG — отладочное сообщение