понедельник, 10 ноября 2008 г.

кое что о dhcp

назначение прокси через dhcp

option wpad code 252 = text;
option wpad "http://domain.ltd/wpad.dat\000";

wpad.dat:

function FindProxyForURL(url,host)
{

if (isPlainHostName(host))
return "DIRECT";

if (isInNet(host, "127.0.0.0", "255.0.0.0"))
return "DIRECT";

return "PROXY your.proxy.ltd:3128";
}

пятница, 11 июля 2008 г.

Roundcube 1.1

Выдернуто с форума roundcube.ru


Подведем некоторый итог по версии 0.1.1.
Итак, в свежеустановленной версии roundcube 0.1.1 можно сделать следующие исправления:

1. program/lib/imap.inc
// generate reply
$reply = base64_encode('"' . $user . '" "' . $hash . '"');
заменить на $reply = base64_encode($user . ' ' . $hash); это решит проблему с аутентификацией на IMAP сервере

2. установить поддержку mbstring в PHP
в файле ..../program/steps/mail/get.inc
добавляем код начиная со 108 строки
if ($BROWSER['win'] && $_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'ru' && $BROWSER['ie'])
{
$part->filename = mb_convert_encoding($part->filename, "CP1251", "UTF-8");
}
if ($BROWSER['ie'])
$iehack = $part->filename = abbreviate_string($part->filename, 55);
else
$iehack = abbreviate_string($part->filename, 128);
header(sprintf('Content-Disposition: %s; filename="%s";',
$_GET['_download'] ? 'attachment' : 'inline',
$part->filename ? $iehack : "roundcube.$ctype_secondary"));
последние три строчки также есть в оригинале, их нужно переписать
Данное исправление решает проблему с сохранением русских вложений в IE

3. В скрипте program/lib/Mail/mime.php есть строчка кода $filename = basename($filename);
заменим ее на $filename = ltrim(basename(' '.$filename)); это решает проблему с вырезанием первого слова из русского названия вложения.

понедельник, 3 марта 2008 г.

О перекодировке или русификация groupoffice

Копая groupoffice (http://group-office.com/) столкнулся с такой проблемой. Официально русский язык там не влючен, хотя присутствует c комментарием в language/languages.inc

//Needs UTF-8 Conversion

Т.е конвертировать надо;)


Если вам лень, можно ничего не конвертировать и спокойно работать с koi8r. Для этого раскомментируйте строки вида

$languages['ru']

в language/languages.inc и если хотите сделать Великий и Могучий по умолчанию добавьте в config.php

$config['language']='ru';

Но могут быть неприятные моменты, например у меня локаль utf8 и в модуле Email меня ждало разочарование в виде поломанной кодировки сообщений. Меня это не устроило, поэтому было решено перекодировать.

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

Итак, за локализацию у нас отвечают файлы language/чтото/lang.inc и modules/какойтомодуль/language/lang.inc ( где lang локализация).

Это командой мы внесем небольшую автоматизацию в процесс перевода ( спасибо ti.eugene;)
Делать соответственно в корневой директории вашего groupoffice.


$ for i in `find . -name ru.inc`; do echo $i; enca $i; done
cat ./modules/groups/language/ru.inc | iconv -f utf-8 -t iso-8859-1| iconv -f koi8-r -t utf-8 > ru.tmp && mv ru.tmp modules/groups/language/ru.inc
cat ./modules/users/language/ru.inc | iconv -f utf-8 -t iso-8859-1| iconv -f koi8-r -t utf-8 > ru.tmp && mv -f ru.tmp modules/users/language/ru.inc
for i in `find . -name ru.inc`; do enconv $i; done


Проверка нужна из-за того, что мне встретились несколько файлов на которые enca сказала

$ enca ru.inc
Universal transformation format 8 bits; UTF-8
Doubly-encoded to UTF-8 from ISO-8859-5

О_о ..О как.

Такие файлы нужно кодировать по другому.

Последний штрих:

head -n 3 language/common/ru.inc

get_fallback_base_language_file('common'));
[root@rick1 groupoffice]# head -n 10 language/common/ru.inc
get_fallback_base_language_file('common'));

#$charset = 'UTF-8';
$charset = 'utf-8';
//$charset = 'KOI-8';

Вроде все.


PS: Добавлю еще, что groupoffice по моему мнению самый эргономичноый из php-base groupware, но в связи с политикой двойного лицензирования самые вкусные вещи ( например syncml синронизация) доступны только в Pro версии, которая платная и имеет проприетарную часть кода. Поэтому это решение подойдет тем кому нужен минимальный функционал ( по ссылке сравнение community и prof версии).

четверг, 28 февраля 2008 г.

О NFS

Вымораживающая ошибка при абсолютно правильном синтаксисе exports

mount: ... failed, reason given by server: Permission denied

которая мне попортила много крови, решается просто

mount -t nfsd none /proc/fs/nfsd

и потом занесение в fstab

none /proc/fs/nfsd nfsd defaults 0 0



UPD:
На данный момент встречается все реже и реже.