Textpattern 4.4.0

Зарелизили версию 4.4.0 моего любимого движка TextPattern. Разработчики строго рекомендуют обновиться, так как в этом релизе было исправлено несколько довольно опасных уязвимостей. Да, я уже обновился.

Фотогалерея и vdh_flickr

До недавнего момента у меня фотогалерея на сайте была организована через плагин vdh_flickr. Суть плагина в том, чтобы соорудить полноценную фотогалерею из фотографий, выложенных на flickr.com

Вы было бы хорошо до тех пор, пока количество фотографий/альбомов не достигло критической отметки, после чего плагин начал весьма активно сливать куда-то память. Последовали санкции хостера, которому явно не понравилось, что мой сайт начал напрягать сервер. Учитывая, что разработка плагина была заброшена много лет назад, обновиться было решительно невозможно.

В итоге пришлось выкинуть всю фотогаллерею в привычном её виде, оставив только ссылки на коллекции на Фликре. Грустно.

glg_subscribe_comments

Наконец сбылась «мечта идиота» — зарелизили плагин для TxP glg_subscribe_comments, который позволяет получать уведомления о новых комментариях на e-mail, просто поставив галочку в форме комментирования.

Это не первый плагин подобного рода. Существует еще и phq_subscribe, однако принцип его работы лично меня не удовлетворяет: после написания комментария на e-mail приходит письмо со ссылкой, по которой необходимо перейти для подтверждения своего желания получать уведомления.

Я себе этот плагин уже поставил, посему приму любые пожелания и замечания по поводу работы этого плагина. Особенно интересует кодировка приходящих писем.

Чиним плагин ajw_comments_feed

Обновив 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']));

Вуаля! У меня все заработало.

Я на WeLoveTxP.com

Мой сайт добавлен в галерею сайтов на Textpattern — WeLoveTxP.com

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

TxP 4.2.0

TextPattern 4.2.0 зарелизили более 2 недель назад, а так же уже подробно расписали все нововведения. Я уже обновился. :)

TextPattern 4.2 RC

Тестирование релиз-кандидата версии 4.2 уже в самом разгаре! Информация об этом RC есть в блоге разработчиков. Там же есть ссылки для скачивания сборки. Я в свою очередь подожду релиза, и уж потом обновлюсь. :-)

Textpattern 4.2 на подходе

Судя по 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 &amp; 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 научить русским кавычкам. Тем более Textile обрабатывает комментарии.

Решил не изобретать велосипед и помучать поиск на русскоязычном форуме ТекстПаттерна на тему типографики.

Поиск выдал это: http://textpattern.ru/forum/viewtopic.php?id=286

Если в кратце, то после модификации файла textpattern\lib\classTextile.php Textile начнет заменять "some_text" на «some_text», а 'some_text' на „some_text“. А так же будет распознавать русские акронимы: ФБР(Федеральное Бюро Расследований) ? ФБР. Так же Textile будет отлавливать различные фильдиперсовые кавычки, приводить их к «общепринятокомпьютерным» (", '), а потом дальше типографить.

дальше →

Выделение авторов комментариев в TxP

Сегодня я расскажу вам о замечательном плагине для Textpattern ajw_if_comment_owner, который позволяет выводить произвольное содержимое на основе сравнения имени, e-mail и/или сайта комментатора с заданными.

Первый способ использования этого плагина, который приходит на ум — выделение комментатора хозяина сайта.

дальше →