Использование серверного gettext в WordPress
Тема использования «родного» для PHP gettext не нова, и неоднократно уже поднималась: на форуме, в блогах. Но все представленные решения оказались неудовлетворительными, так как они не поддерживают больше одного домена локализации.
Тем не менее, у меня получилось побороть этот недостаток — ценой изменений кода WordPress. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 4Окт
2009
WordPress 2.8.4
Вчера вышел WordPress 2.8.4, исправляющий уязвимость при сбросе пароля пользователя. С помощью специально сформированного URL можно было сбросить пароль первому пользователю, который никогда не сбрасывал пароль (обычно это администратор). Удалённый доступ это не даёт, но, по словам разработчиков, всё же неприятно. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 16Авг
2009
WordPress 2.8 и плагин Post Templates
WordPress 2.8 сказался не самым лучшим образом на плагине Post Templates от Vincent Pratt. На данный момент в плагине присутствуют несколько серьёзных ошибок, которую сводят его практическую пользу к нулю. Хуже всего, что автор, по-видимому, забросил плагин, и исправлять ошибки теперь некому.
Итак, имеются следующие ошибки:
- Ошибка «You do not have sufficient permissions to access this page» при попытке создания нового шаблона или редактировании существующего (и еще в нескольких местах) — появилась в WordPress 2.8.1 в результате исправления этой уязвимости;
- Fatal error: Maximum execution time of 30 seconds exceeded in /wp-includes/plugin.php on line 385 при заходе на страницу редактирования страниц (звучит-то как!);
- невозможность сохранения шаблонов, так как отсутствует кнопка «Сохранить» (это если вы побороли первую ошибку, либо у вас WordPress 2.8).
Авг
2009
dk-filter: util.c:47: dk_sterilize: Assertion `str != ((void *)0)’ failed: Часть 2
Вчера я писал об ошибке в dk-filter, приводящей к гибели процесса, если dk-filter сконфигурирован использовать разные ключи для подписи сообщений от разных отправителей, и ключ для отправителя не найден.
Я предложил два решения: тривиальное (изменить файл конфигурации так, чтобы все отправители начинались со звёздочки) и правильное (пропатчить код демона, ибо фатальное завершение по такой пустяковой ошибке — это неправильно).
Именно о втором решении далее пойдёт речь. Далее »
Автор: Vladimir, опубликовано в: C/C++, Linux, Администрирование, комментариев: нетИюл
2009
Simple Tags 1.6.6 и автоматические ссылки меток на русском языке
Полгода назад я рассказывал о том, что Simple Tags не умеет работать с многобайтовыми символами (коими, к слову, являются русские буквы в кодировке UTF-8). За это время вышло восемь или девять новых версий плагина, но проблема с поддержкой UTF-8 всё же осталась.
Так сложилось, что именно сегодня я решил обновить плагин. Патчить код было лень, я надеялся, что у Lecactus’а лежит пропатченная свежая версия. Увы, только 1.6.3. Далее »
Автор: Vladimir, опубликовано в: Патчи, Плагины WordPress, комментариев: 23Июн
2009
hotkey-setup 0.1-23ubuntu10 в Jaunty Jackalope
В очередной раз разработчики выпустили пакет, не потрудившись его протестировать (или, скажем прямо, установить).
Сегодня пришло обновление для hotkey-setup, которое завершилось следующим образом:
/etc/init.d/hotkey-setup: 47: Syntax error: ";;" unexpected (expecting "fi")
invoke-rc.d: initscript hotkey-setup, action "start" failed.
dpkg: не удалось обработать параметр hotkey-setup (--configure):
подпроцесс post-installation script возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
hotkey-setup
E: Sub-process /usr/bin/dpkg returned an error code (1)
Не удалось установить пакет. Попытка восстановить:
Настраивается пакет hotkey-setup (0.1-23ubuntu10) ...
/etc/init.d/hotkey-setup: 47: Syntax error: ";;" unexpected (expecting "fi")
invoke-rc.d: initscript hotkey-setup, action "start" failed.
dpkg: не удалось обработать параметр hotkey-setup (--configure):
подпроцесс post-installation script возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
hotkey-setup
Апр
2009
WordPress, FastCGI и редирект 301: часть 2
Более изящное решение, нежели представленное в первой части (WordPress, FastCGI и редирект 301).
В первой части предлагалось при использовании web-сервера nginx закомментировать проверку на SAPI PHP (if ( php_sapi_name() != 'cgi-fcgi' )). Однако есть лучшее решение. Далее »
Мар
2009
All in One SEO Pack 1.4.6.15: пустой экран при неверном запросе
Вчера вечером нашёл, а сегодня утром окончательно разобрался с одной очень интересной ошибкой плагина All in One SEO Pack. Ошибка проявляется в версии 1.4.6.15, но, возможно, более ранние версии тоже ей подвержены. Для проявления ошибки необходима определённая структура пермалинков: я столкнулся с ошибкой на такой структуре: /%category%/%postname%/. Тем не менее, структура — условие необходимое, но не достаточное: я не на всех сайтах смог воспроизвести ошибку. Возможно, причиной этому являются сторонние темы и/или плагины. Тем не менее, в причинах её возникновения я разобрался.
Проявляется ошибка следующим образом: при переходе на сайт по неверной ссылке (например, http://example.com/wpadmin) отображается пустая страница, а в логе ошибок присутствует примерно такое сообщение:
Дек
2008
WordPress 2.7: фатальная ошибка при публикации статьи
Сегодня в WordPress открылся баг (с самым высоким приоритетом — "highest omg bbq"). Симптомы его следующие: при публикации поста выдаётся ошибка вида:
Причина ошибки заключается в том, что WordPress недостаточно тщательно проверяет результат, который возвращают функции wp_remote_get()/wp_remote_post().
Ошибка проявляется, когда функция WP_Http::chunkTransferDecode() возвращает ошибку. Я не лез в дебри функции: возможно, сервер вернул что-то не то, возможно, декодер содержит ошибку, а может быть, виновата другая функция — важно здесь несколько другое: элемент body возвращаемого результата может не быть скалярным.
Переходим к исправлению ошибки. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 1Дек
2008

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Удаление родительского комментария приводит к неправильному отображению дочерних комментариев
Одна из довольно неприятных ошибок в WordPress… Дело в том, что при удалении комментария WordPress не проверяет, есть ли у удаляемого комментария дочерние комментарии. При древовидном отображениии комментариев оставшиеся сиротами комментарии выводятся неправильно — под всеми остальными, нарушая хронологический порядок. Далее »
Автор: Vladimir, опубликовано в: Патчи, комментариев: 10Фев
2009