k001
k001
:...

April 2032
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Back February 26th, 2008 Forward
howto fix mediawiki png uploads

Сегодня я имел MediaWiki. Точнее, напротив -- это она имела меня. Хочу загрузить в wiki файлик plot.png, вполне себе такой валидный файлик -- ан нет, пишет, что "The file is corrupt or has an incorrect extension. Please check the file and upload again".

Методом последовательных приближений было выяснено, что виновата функция MediaWiki MimeMagic::guessMimeType(), точнее, функция PHP mime_content_type(), а если совсем точно, то файл /etc/httpd/conf/magic, предоставляемый вовсе даже не PHP, а Apache.

Так вот, в этом файлике нет никаких упоминаний про PNG, ввиду чего тип нашего файла определяется как text/plain, что порождает внутри кода MediaWiki классовое противоречие, ибо MIME-тип text/plain никак не конгруэнтен расширению PNG. Противоречие сиё она разрешает очень просто -- загрузить файлик не даёт, ругается (см. выше).

Решение очень просто -- выцарапать строчку про png из /usr/share/magic.mime (файл любезно предоставлен утилитой file, точнее, пакетом file-libs) и вписать её в вышеупомянутый /etc/httpd/conf/magic:

echo "0 string \x89PNG image/png" >> /etc/httpd/conf/magic

Для проверки:
echo '<? echo mime_content_type("/path/to/your/plot.png"); ?>' | php
image/png


Update: ваша mediawiki, вероятно, крутится под mod_php в Апаче. Чтобы изменения в magic подхватились, Апача надобно перестартовать.

howto set up pidgin to send using Ctrl+Enter

Всем мне нравится pidgin, очень хороший клиент, только я привык иметь возможность вставлять новую строчку в сообщение по Enter, а отправлять сообщение по Ctrl+Enter.

Вот как это сделать (откройте терминал, скопипастите в него следующий код):

cat << EOF >> ~/.gtkrc-2.0
binding "my-bindings"
{
bind "Return" { "insert-at-cursor" ("\n") }
bind "<ctrl>Return" { "message_send" () }
}
widget "*pidgin_conv_entry" binding "my-bindings"
EOF


Ссылки по теме:
* Using Pidgin

Back February 26th, 2008 Forward