+60.64
450 читателей, 105 топиков

Решение: Как сделать проверку на минимальное количество символов в топике

В конфиге движка есть настройка:
$config['module']['topic']['max_length'] = 25000;       // Максимальное количество символов в одном топике


А вот такой же для минимальной нету. По умолчанию для всех-всех полей оно равно 2 и записывается хардкодом. Вот подсказка, для тех, кому нужна эта настройка.
Читать дальше →

Sphinx через Unix-сокеты

Мини-заметка:

/config/modules/search/config.php
<?php
$config['entity_prefix']  = '';
$config['sphinx']['host'] = 'unix:///tmp/sphinx.socket';
return $config;
?>


/usr/local/etc/sphinx.conf
searchd
{
        listen              = /tmp/sphinx.socket
        log                 = /usr/local/etc/sphinx/searchd.log
        query_log           = /usr/local/etc/sphinx/query.log
        read_timeout        = 5
        max_children        = 20
        pid_file            = /var/run/sphinx.pid
}

Удаление UTF-8 BOM из консоли

linux (debian tested)
find путь/к/лайвстриту/ -type f \( -name '*.tpl' -o -name '*.php' \) -exec sed -i '1 s/^\xef\xbb\xbf//' {} \;


freebsd (7.2 tested)
find ./ -type f \( -name '*.tpl' -o -name '*.php' \) -exec sed -i -e '1 s/^\xef\xbb\xbf//' {} \;


найти файлы с BOM
find ./ -type f \( -name '*.tpl' -o -name '*.php' \) -print0 | xargs -0r awk '/^\xEF\xBB\xBF/ {print FILENAME}{nextfile}'


sed почему-то иногда не отрабатывает, поэтому php, find, awk, xargs:
php -r "ob_start();
passthru('find ./ -type f \( -name \'*.tpl\' -o -name \'*.php\' \) -print0 | xargs -0r awk \'/^\xEF\xBB\xBF/ {print FILENAME}{nextfile}\'');
foreach(array_filter(explode(\"\n\",ob_get_clean())) as \$f){
	echo \"remove BOM from \$f...\n\";
	file_put_contents(\$f, substr(file_get_contents(\$f), 3));
};"

Фикс диалоговых окон для ie7

Всем доброго времени суток.
В ie7 окно логина закрыто оверлеем, так же и окно загрузки изображений. Фикс этой проблемы:
идем в jquery.jqmodal.js, после строки 81. h.w.css('z-index', z); добавить строку
if (!h.w.is('.mutex')) h.w.addClass('mutex').appendTo('body');
класс mutex используется как семафор.

Убираем константы из шаблонов

После прочтения вот этого поста: Убираем дублирование при добавлении роутинга, понял что эта проблема волнует не только меня. Хочу поделиться своими соображениями на этот счет.

Linch правильно заметил, что при добавлении нового роута приходиться дублировать информацию. Но, на самом деле здесь происходит более «серьезное» дублирование, чем копипаст из config/config.route.php в Viewer.class.php — мы дублируем функционал по составлению пути — один раз это делает программист, разрабатывая модуль, второй раз это делает верстальщик, когда делает шаблон. Большее неудобство не в том, как мы доставим константу во Viewer, а именно в том факте, что верстальщику этими константами нужно пользоваться.

Если нам вдруг понадобиться изменить принцип роутинга, то придется перелапачивать весь шаблон, исправляя ошибки адресов. Имхо, если Router, решает какой Action должен отработать, пусть сам нам скажет, как к этому Action нужно обратиться. Тогда необходимость в константах во Viewer`e вообще отпадет сама собой.

Как этого добиться? Под катом 20 строчек кода.

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