Блог пользователя - Ильич Рамирес Санчес

nginx+apache+mod_php + eaccelerator + "drupal 502"

4 апреля 2008 в 22:17

Ну чего... вот одна из причин того что мы с эндипостом называем друпал502:

Обнаружен глюк eaccelerator при работе с php в режиме апачевского модуля.

Система просто не подгружала или некорректно подгружана inc/theme.inc в CMF drupal. В итоге из php нельзя было выбить никаких ошибок а сервер давал ошибку 502.

Я привык пользовать php в режиме fast-cgi.
Похоже это специфичная для eaccelerator ошибка когда php пашет как модуль apache, поскольку такое уже замечалось ранее на сторонних хостингах, просто я не придавал этому значения.

Оригинал на моем блоге.

Деревянность модуля search

23 марта 2008 в 1:52

Возникла задача - некоторые ноды в зависимости от определенного условия надо исключать из поисковой индексации...
Не из выдачи а именно из индексакии. Начинаю копать

Оказывается друпал не предусмтривает такого рода хуков.... вашу ноду он съест и заиндексит в любом случае.

Есть конешно модуль search_block котороый всего лишь заметает дерьмо из индексации.....

Сейчас оцениваю время разработки и ничего в голову не приходит как положить на принцип "не вмешиваться в ядро".

Платные модули

18 марта 2008 в 18:34

К сожалению видя нулевую реакцию в плане тестирования и прочего от сообщества - код модулей - модуля HTML Corrector собственного производства который не дает тупые сбои начисто убивая маркап как друпаловский(да да, в том числе и в д6) и модуля кеширования для Drupal 6 - теперь закрыты для посторонних глаз и распоространяются за деньги Smile

Походу разработчики друпала считают ненужной валидацию html в нормальном виде Smile

Ну а поскольку тестить поддерживать и прочее мне приходится самому и больше никому ниче не надо....

То вот:
http://brainstorm.name/products

Друпал, часовой пояс и учет DST

31 января 2008 в 20:38

Есть у меня задачка с модулями event.

И вот озаботился вопросом правильности времени вводимого пользователем. Ведь мы в двух зонах живем: +3 и +4.

Начал копать в друпале на тему dst. Нет нифига. Просто нифига.
В date_format используется тупо _смещение_ без учета энергосбережения для временной зоны.

ВСЕ. больше упоминаний нема.

Походу надописать свой обработчик для перехода с +3 на +4 в час X? Как вы решаете эту проблему?

Ведь в евентах после такого перехода встрянет неверное время события. Что меня ооооочень не радует.

Кеширование на файлах часть 2

20 января 2008 в 19:28

Сделал функцию чистки кеша. С учетом специфики может быть ее будет достаточно.
Завтра поставлю на наш дистриб друпала его + devel забью случайные данные и поиграю с производительностью.

На моих ресурсах кеш работает в режиме бетатестирования Smile
Вроде все.

<?php
/*
*
* Filecache by Ilya V. Azarov, brainstorm.name
*
*
*/
class cache_cc{
var $data, $created, $expire, $headers;
function cache_cc($c){
$this->data = $c['data'];
$this->created = $c['created'];
$this->expire = $c['expire'];
$this->headers = $c['headers'];
}
}
function filecache_md5($key){
static $cache_arr;
if(isset($cache_arr[$key] ) ) return $cache_arr[$key];
$md = md5($key);
$cache_arr[$key] = $md;
return $md;
}

Уязвимость в модуле devel

11 января 2008 в 0:32

Обнаружена уязвимость в модуле devel.
Источник: drupal.org. SA-2008-001 - DEVEL - CROSS SITE SCRIPTING

Обнаружена уязвимость выполнения скриптов с другого сайта.

Разработчики, пользующие это чудо на рабочих сайтах - обновляемся тут http://drupal.org/node/208526

Кеширование на файлах

3 января 2008 в 2:19

Создал свой вариант кеша. Smile
На файловой системе. Пока обкатываю на моем блоге. Принцип "кучи" подкаталогов аля сквид.

Не все отработано. та же cache_clear_all - но посмотрев исходники и рекомендации возможно сделаю полноценный модуль с "чисткой" кеша Smile

Итак. Код:
<?php

class cache_cc{
var $data, $created, $expire, $headers;
function cache_cc($c){
$this->data = $c['data'];
$this->created = $c['created'];
$this->expire = $c['expire'];
$this->headers = $c['headers'];
}
}
function filecache_md5($key){
static $cache_arr;
if(isset($cache_arr[$key] ) ) return $cache_arr[$key];
$md = md5($key);
$cache_arr[$key] = $md;
return $md;
}
function filecache_md5path($table, $key){
static $cache_arr;

Валидация html

23 ноября 2007 в 20:45

Не понравилось мне что нигде нет валлидации вводимого html на комментах.
Вот и сделал патч к модулю safehtml

В общем сцылко вот.
Корректор - дрянь для нагрузок, товарищи

http://drupal.org/node/194808

Господа, а тэг пре можно было бы и разрешить Smile

тест

23 ноября 2007 в 17:22

не нравится система фильтров html
корректор - да. хооршо.. но дергать функцию проверки каждый раз при выводе.... имхо лучше было бы все же держать контент в базе уже в корректном виде...

Проблема в том что я разобрал как делать хуки на все.. кроме комментов Lol
И это весьма меня не радует.

если код не плывет значит это у меня лисно проблемы с фильтром html

Необходимость в создании нормальной локали.

20 ноября 2007 в 1:03

Глянул свежим вззглядом на голосование на моем блоге и весьма порадовало.

"3 голоса"
"4 голоса"
"5 голоса"
"6 голоса"

Не, ну ведь понятьно что плюрал в русском он весел и своеобразен... наверно можно было в локали сделать хотя бы так:
"Голосов: count"

Вообще весело Smile

Рерайты для nginx

19 ноября 2007 в 15:58

Тут у человека возник вопрос как подрубить "красивые ссылки" в nginx.
Вот пример из моей конфигурации.

        location / {                                                                                                                                                        
            root   /var/www/brainstorm/htdocs;                                                                                                                              
            index  index.php index.html index.htm;

Русификация Image.

17 ноября 2007 в 22:45

Ну не нарыл я в проекте друпала модуля. а мне ооочень нужен был.
так шо звиняйте.

Тут возможны ошибки по грамматике. текста много.