Зарелизили версию 4.4.0 моего любимого движка TextPattern. Разработчики строго рекомендуют обновиться, так как в этом релизе было исправлено несколько довольно опасных уязвимостей. Да, я уже обновился.
До недавнего момента у меня фотогалерея на сайте была организована через плагин vdh_flickr. Суть плагина в том, чтобы соорудить полноценную фотогалерею из фотографий, выложенных на flickr.com
Вы было бы хорошо до тех пор, пока количество фотографий/альбомов не достигло критической отметки, после чего плагин начал весьма активно сливать куда-то память. Последовали санкции хостера, которому явно не понравилось, что мой сайт начал напрягать сервер. Учитывая, что разработка плагина была заброшена много лет назад, обновиться было решительно невозможно.
В итоге пришлось выкинуть всю фотогаллерею в привычном её виде, оставив только ссылки на коллекции на Фликре. Грустно.
Наконец сбылась «мечта идиота» — зарелизили плагин для TxP glg_subscribe_comments, который позволяет получать уведомления о новых комментариях на e-mail, просто поставив галочку в форме комментирования.
Это не первый плагин подобного рода. Существует еще и phq_subscribe, однако принцип его работы лично меня не удовлетворяет: после написания комментария на e-mail приходит письмо со ссылкой, по которой необходимо перейти для подтверждения своего желания получать уведомления.
Я себе этот плагин уже поставил, посему приму любые пожелания и замечания по поводу работы этого плагина. Особенно интересует кодировка приходящих писем.
Обновив TextPattern до версии 4.2.0, я столкнулся с печальным фактом: сломался плагин ajw_comments_feed, который отдавал комментарии к посту в виде RSS-ленты.
Сегодня на форуме моральной поддержки ТхП я нашел решение.
Итак, в исходном коде плагина меняем:
//turn on compression if we aren't using it already
if (extension_loaded('zlib') && ini_get("zlib.output_compression") == 0 && ini_get('output_handler') != 'ob_gzhandler' && !headers_sent()) {
@ob_start("ob_gzhandler");
}
на:
//turn on compression if we aren't using it already
if (extension_loaded('zlib') && ini_get("zlib.output_compression") == 0 && ini_get('output_handler') != 'ob_gzhandler' && !headers_sent()) {
$buf = '';
while ($b = @ob_get_clean())
$buf .= $b;
@ob_start('ob_gzhandler');
echo $buf;
}
и эту строчку:
$title = escape_output(strip_tags($article['Title']));
заменяем на эту:
$title = htmlspecialchars(strip_tags($article['Title']));
Вуаля! У меня все заработало.
Мой сайт добавлен в галерею сайтов на Textpattern — WeLoveTxP.com
Сейчас сайт на главной, однако со временем он уползет в архив.
TextPattern 4.2.0 зарелизили более 2 недель назад, а так же уже подробно расписали все нововведения. Я уже обновился. :)
Тестирование релиз-кандидата версии 4.2 уже в самом разгаре! Информация об этом RC есть в блоге разработчиков. Там же есть ссылки для скачивания сборки. Я в свою очередь подожду релиза, и уж потом обновлюсь. :-)
Судя по svn — осталось уже недолго ждать свежую версию. Нумероваться она будет революционно — 4.2
Все наработки по версии 4.1.* ушли в архив. То есть, версия 4.1 — архивная. Не будем этому удивляться. Видимо, так удобнее, во избежании путаницы.
Итак, что готовит нам 4.2? Копирую из history.txt
Changes in 4.2.0
- Feature: Extendable admin-side themes
- Feature: Capability for multi-site file system layouts (thanks: Sam Weiss)
- Feature: Role-based permission checks for images, links and files
- Feature: Save various pane toggle states
- Feature: Store author of links and files
- Feature: Automatic adjustment for DST (requires PHP 5.1+, fall back to manual adjustment for servers running older PHPs)
- Feature: Timezone selector in preferences (requires PHP 5.1+, GMT-based seelector as a fallback for PHP 4)
- Fixed: When a user is deleted, reassign her assets
- Fixed: Tag builders for
<txp:category />
and <txp:section />
- Fixed: Bogus «Article tags cannot be used outside an article context» warning in
<txp:else />
-branch of <txp:if_keywords>
- Fixed: Removed superflous
&
encoding for article titles in <txp:recent_comments />
- Fixed:
<txp:expires>
uses «class» and «wraptag» attributes as intended
- New: Default event preference setting (thanks: Mary)
- Developer: pluggable_ui() serves as a base for custom admin-side user interface panels
- Developer: Per-user preferences
- Developer: New events „log_it“, „plugin_lifecycle“, „plugin_prefs“
- Developer: Increased maximum plugin code size to MEDIUMTEXT (16 MiB)
- Developer: Increased maximum preferences value size to TEXT (64 KiB)
- Developer: Core support for unlimited custom fields (thanks: Gerhard Lazu)
- Developer: Thumbnail dimensions are stored in the image table
Основное — это возможность создания-использования разных тем для админки и мультисайтовость. Много-мелких новшеств, новые теги, и т. д.
Хоть я сам лично пользуюсь типографской раскладкой и вполне привык типографировать текст в процессе набора, захотелось полюбившийся мне Textile научить русским кавычкам. Тем более Textile обрабатывает комментарии.
Решил не изобретать велосипед и помучать поиск на русскоязычном форуме ТекстПаттерна на тему типографики.
Поиск выдал это: http://textpattern.ru/forum/viewtopic.php?id=286
Если в кратце, то после модификации файла textpattern\lib\classTextile.php
Textile начнет заменять "some_text"
на «some_text», а 'some_text'
на „some_text“. А так же будет распознавать русские акронимы: ФБР(Федеральное Бюро Расследований)
? ФБР. Так же Textile будет отлавливать различные фильдиперсовые кавычки, приводить их к «общепринятокомпьютерным» (", '), а потом дальше типографить.
дальше →
Сегодня я расскажу вам о замечательном плагине для Textpattern ajw_if_comment_owner, который позволяет выводить произвольное содержимое на основе сравнения имени, e-mail и/или сайта комментатора с заданными.
Первый способ использования этого плагина, который приходит на ум — выделение комментатора хозяина сайта.
дальше →