Псто хвастовства :)
Mar. 31st, 2010 10:31 pmВчера собрался с духом и написал куски кода для моего вордпрессовского блога. Меня похвалило всего три человека, а моё эго требует большего. Так что вот он, публичный радостный крик души.
1. Налажена синхронизация ссылок на посты в ЖЖ, Лиру и WP. Оно само, в зависимости от того, куда шлётся пост, заменяет внутренние ссылки на другие посты. В ЖЖ все ссылки на посты в ЖЖ, в ЛиРу — на посты в ЛиРу. Я долго возился со всякими XML API, потом плюнул и за полчаса написал парсер, который все посты вытаскивает из обычного HTML. Посты синхронизированы по хешу из имени статьи и года, чтобы отличать статьи с одинаковыми названиями. Их немного, но вдруг. В принципе можно подумать о меньшем зазоре, скажем, размером дней в 15. Больший зазор маловероятен, а пара недель однажды была. UPD. Сделал. Обнаружилось много постов с информативным именем «***».
2. Ссылки на юзеров автоматом преобразуются в то, что нужно — в зависимости от блога, куда они шлются. Например, <lj user=”username”> в ЖЖ таким и остаётся, в WP он превращается в ссылку с картинкой, а в ЛиРу он становится . Соответственно, Лирушный [user=имяюзера] при отсылке поста в Лиру таким и остаётся, а в WP и ЖЖ он превращается в ссылку на дневник юзера. Причём даже с мужской или женской иконкой, в зависимости от пола юзера. А ещё появился [xuser=LiRu_Username, LJ_Username], для обозначения тех, кто, как и я, имеет счастье быть зарегистрированным в обоих блогсервисах. Нужный код для ссылки на юзера выбирается автоматически при экспорте.
Надо сказать, что программисты Лиру не очень позаботились об удобстве для тех, кто хочет доступа к дневнику с помощью программных клиентов. API кривое, глючное, местами нерабочее, нет необходимого функционала. На этом фоне заявление ValeZ, что «у нас больше API чем у ЖЖ» выглядит смешно — доведите до ума хотя бы одно, не гонитесь за количеством. Что конкретно не так, здесь писать не буду, чтобы не отвлекаться от хвастовства.
3. Написал постыдную библиотеку доступа к постам в Лиру. Постыдную, потому что доступ идёт через HTML, а это некрасиво и чревато. Но всё-таки о ней напишу, потому что она позволяет делать то, чего я не смог добиться ни от каких API. А именно — получение/изменение назначенных посту категорий, ключевых слов, видимости поста и комментариев. Мог бы добавить и загрузку картинок, но пока не уверен, что мне это надо. Если кто-нибудь сейчас снисходительно засмеётся и скажет: «Бууу! Так это же элементарно сделать через (например) MT API!», пожалуйста, скажите это в комментариях. Я буду чрезвычайно благодарен тому, кто избавит меня от доступа через HTML.
Вот.
Теперь осталось написать плагин для вордпресса, который будет использовать этот код мне во благо и вам в удовольствие.
Вдогонку: хорошая статья с рекомендациями по оформлению программ на PHP. Без фанатизма, с обоснованиями, почему и зачем.
Mirrored from тайный блог aKry.