Несколько недель назад у меня появилась задача сделать архив новостей для Drupal 6.x. Базой я выбрал модуль Archive. Продукт неплохой, но не совсем, то что мне нужно было. В результате, я сделал свой модуль, более простой и с AJAX (по требованию заказчика). Но сейчас не об этом.
При работе с Archive, у меня появилась такая проблема: на интернет-хосте пропала функция cal_days_in_month(), хотя на localhost'e было все ок.
Что бы функция заработала, нужно ее написать, правильно? :)
1. Открываем archive/archive.module
2. Вставляем функцию:
// the entire month into the block. $prev_month = $month==1?12:$month-1; $prev_year = $month==1?$year-1:$year; + //some old php versions don't have cal_days_in_month(), this code accounts for that + if(!function_exists('cal_days_in_month')){ + function cal_days_in_month($calendar,$month, $year) + { + // $calendar just gets ignored, assume gregorian + // calculate number of days in a month + return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31); + } + } $num_days_prev = cal_days_in_month(CAL_GREGORIAN, $month-1, $year); $next_month = $month==12?1:$month+1; $next_year = $month==12?$year+1:$year;
Плюсиками я обозначил код, который мы вставляем. enjoy ;)
Комментариев нет:
Отправить комментарий