Миграция с первого Apache на второй: аутентификация

Был у меня сервер, на котором среди прочего крутился Apache версии 1.3.x Потом, поставил AltLinux Server 4.0. В нем на выбор два Apacha: 1-й и 2-й. Решил ставить 2-й. На домашней машине давно уже работает, да и надо же переходить когда-то. Кое-что пришлось настраивать-перенастраивать, но под конец почти все заработало. Остались мелочи. Среди них настройка каталога с доступом по паролю.
Вот тут-то и начались проблемы.

Даты в PHP

С датами в PHP мне работать уже конечно приходилось. Обычно дело сводилось к тому, чтобы получить текущие дату-время и сделать с ними, что-нибудь несложное: вывести на экран, записать в БД или файл и пр. Для этих целей мне хватало функции date(), которую использовал примерно в следующем виде:

<?php
echo "Текущее время: ".date('d.m.Y H:m:s');
?>

Сегодня понадобилось определять количество дней между двумя датами и в книге Котерова и Костарева я обнаружил такую вещь как дата в формате JDC.

Статья о Drupal.

Наткнулся на интересную обзорную статью о Drupal. Общая информация - но достаточно конкретная. Обычно в обзорных статья о Drupal (да и о любой другой CMS) слишком много общих слов.

Формы в Drupal: default_value и value.

До сих пор применял атрибуты '#default_value' и '#value' не особо задумываясь об их отличиях. Делал по образцу и как-то само собой получалось правильно. Но удача отвернулась от меня, я ошибся и на меня снизошло просветление.

ahah и выпадающие списки

Потребовалось создать форму. На форме два списка. В первом списке производим выбор и в зависимости от выбранного пункта должно загрузиться содержимое второго списка. Ясно, что делается это с помощью ajax. Но я JavaScript никогда не увлекался, решил использовать какую-нибудь библиотеку.

breadcrumb: вспомогательная функция

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

<?php
function set_breadcrumb($str,$links=array()){
   
$bc[]=l('Главная','');
    foreach(
$links as $link){
      
$bc[]=l(t($link[0]),$link[1]);
    }
   
$bc[]=t($str);
   
drupal_set_breadcrumb($bc);
}
?>

Использовать ее в виде:
<?php
set_breadcrumb
("Текущая страница",array(array('Уровень-1','link1'),array('Уровень-2','link1/link2')))
?>

Шестой Drupal и db_num_rows

Сижу, переделываю модуль собственного сочинения, под Drupal 6. Создавался он под пятую версию. Удивился, когда прочитал сообщение:

Fatal error: Call to undefined function db_num_rows()

Начал разбираться - оказалось в шестом друпале отменили функцию db_num_rows. Теперь вместо нее надо использовать mysqli_num_rows. Хотя если посмотреть исходный код (http://api.drupal.org/api/function/db_num_rows/5) необходимости в db_num_rows никогда и не было.

Синдикация материалов Синдикация материалов