19 июня 2009 г. API Wordpress Яндекс

Плагин для Wordpress - Яндекс.Фотки 2.0

yandex-fotki-20

Наконец-то я собрался с силами и переписал плагин "Яндекс.Фотки"! В новой версии все переписано буквально с нуля и работает на основе "API Яндекс.Фоток", поэтому версия именуется 2.0.

Для работы с AtomPub ("API Яндекс.Фоток" работает по этой технологии) использую библиотеку SimpleXML.

Возможности

  • Выводить все фотографии пользователя
  • Выводить фотографии в выбранном вами альбоме
  • Как и ранее можно указывать количество результатов выдачи, но теперь НЕ ограничено 20-ю
  • Выводить названия фотографий
  • Указывать размер превью фотографии

Требования

  • PHP5
  • SimpleXML (в PHP5 по умолчанию установлен)


Добавил плагин в каталог сайта MyWordPress. Также попробовал залить на официальный сайт WordPress, но к сожалению запарился читать инструкции, может как-нибудь позже добавлю.

Что не вошло в релиз, но планируется

  1. Вывод всех альбомов пользователя (вам это надо?)

  2. Выводить количество фотографий в альбоме и комментариев для фотографии

  3. Просматривать защищенные приватностью фотографии (требуется ввод пароля)

  4. Просмотр фотографий с помощью "lightbox" (посоветуйте что-нибудь на его роль, желательно что-нибудь нативное для Wordpress)

  5. Кеширование результатов выдачи, чтобы лишний раз не обращаться к "Яндексу" за фотографиями (посоветуйте средства кеширования, желательно нативные для Wordpress)

  6. Шорттеги, для вставки галереи или фотографии в пост (Примеры: [yf]album_1234[/yf] - галерея, [yf]photo_1234[/yf] - фотография)

Скриншоты

Панель управления опциями

Результат вывода фотографий


Использование

<h2>Яндекс.Фотки</h2>
<ul>
    <?php yandexFotki(); ?>
</ul>



Я себе уже установил новую версию и все работает замечательно, если заметите баги, то пишите о них в комментарии.

Скачать плагин: Яндекс.Фотки 2.0

P.S. Так же создал отдельную страницу http://adw0rd.ru/ext/wp-yandex-fotki/ там будут публиковаться свежие версии, однако пост в блог тоже будет.

Комментарии

Демо хочетса =)

welnax, справа у меня, в сайдбаре :)

Наконец-то! Огромное спасибо за плагин :)

4g3n7, всегда пожалуйста :)
Чего не обновился?
Поучаствуешь в обсуждении новых фич?

Спасибо большое за плагин, уже переменил адрес ссылки, когда узнал от вас о выходе релиза.

eavasi, сенк!

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in бла-бла/wp-content/plugins/yandex-fotki/yandex-fotki.class.php on line 16

это наверное, что-то значит?

yuri, какая у вас версия PHP?

вы заставили меня задуматься, панель управления виртуальным хостингом говорит о PHP Version 4.4.8

судя по-всему нужна некая пятая?

переехал на другой сервер с пятой версией -- там заработало.

yuri, да, 4-ка это прошлый век :)

Спасибо. Отличный плагин :) Видел такое для фликр, но мы же в России...

Andrey, рад что понравилось :)

О, ура! Ставим-смотрим!

alex, отпишись потом о ощущениях!

Как раз допишу про Raw и буду ставить.

Интересно прикрутилось на блог, в теме есть секция для фоток из flikr, которой я правда не пользовался, и на ее место я поставил Я.Ф. Получилось очень даже занятно. Реально не хватает открытия типа lightbox, чтобы не уходить с сайта, но это я так понимаю в планах. Все остальное просто и понятно. Спасибо.

alex, оки, понял :)

Интернета не было...

Сейчас попробовал поставить (вордпресс 2.6.2), пишет ошибку:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/u547/4g3n7.ru/www/wp-content/plugins/yandex-fotki/yandex-fotki.class.php on line 16

Старая версия PHP, посмотри "Требования" :)
Этот вопрос кстати, обсуждался выше

Ага, обновил пхп до 5 версии, плагин поставился.

Однако на сайте плагин выводит такое:


Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://api-fotki.yandex.ru/api/users//photos/published/?limit=4" in /home/u547/4g3n7.ru/www/wp-content/plugins/yandex-fotki/yandex-fotki.class.php on line 59

Fatal error: Call to a member function children() on a non-object in /home/u547/4g3n7.ru/www/wp-content/plugins/yandex-fotki/yandex-fotki.class.php on line 60

Я в пхп плохо разбираюсь. Код вставки со старой версии тот же

ты не ввел имя пользователя ;) [в админке]

Точно...
Вот сейчас ввел, однако неработает все равно, та же ошибка на странице, плюс в админке на вкладке "Опции" вот это:


Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://api-fotki.yandex.ru/api/users/yaroslav-melekhin/albums/published/" in /home/u547/4g3n7.ru/www/wp-content/plugins/yandex-fotki/yandex-fotki.class.php on line 32

Fatal error: Call to a member function children() on a non-object in /home/u547/4g3n7.ru/www/wp-content/plugins/yandex-fotki/yandex-fotki.class.php on line 33

4g3n7, хм, странно... попробуй удалить плагин и снова поставить... Я сейчас ввел "yaroslav-melekhin" и теперь у меня отображаются твои фото и опции работают, посмотри в моем сайдбаре

Ага, вижу.
Удалил и поставил, не помогло...
Возможно, дело в версии вордпресса

У тебя все работает, вижу :)

4g3n7, вряд ли в вордпрессе дело, думаю просто запрещены на хостинге открытие удаленных файлов (от слова даль ;)

Создай php-файлик и выполни:


if (ini_get('allow_url_fopen') == '1') echo 'fopen on!'; else echo 'fopen off!';

Поместил этот код в сайдбар, fopen on! пишет

странно, очень странно... пока не знаю чем помочь

При попыьке зайти в опции выводится:

У вас недостаточно полномочий для доступа к этой странице.

В чем может быть ошибка?

Добрый день. У меня последняя версия wordpress, плагин утстановился, имя ввёл, а в опции попасть не могу, пишет, что "У вас недостаточно полномочий для доступа к этой странице"....как это можно исправить?

В новых версиях изменилась процедура инициализации, надо переписывать, а у меня сейчас нет времени.

Я понял, тогда будем ждать. А подскажите ещё пожалуйста, есть ли в этом плагине возможность, выводить в сайдбаре несколько последних загруженных фоток, находящихся в аккаунте яндекс.фотки?

Да, для этого он и создан.

.... =)) я вообще считал, что изначально он создан для того, что бы фотки из галереи яндекс.фотки выводить в посты, поэтому и спросил...тогда вообще хорошо, будем ждать переработки плагина.

Lovedancer, не, это только планировалось :)

Спасибо большое, нужный плагин. Но при попытке доступа к опциям получаю:

You do not have sufficient permissions to access this page.

УРЛ вот такой:

http://exemple.com/wp-admin/options-general.php?page=yandex-fotki/admin/options.php

Что я делаю не так?

MaEcTPo, прочтите каменты выше ваших. Скоро поправлю плагин.

Ой, извините пожалуйста.
Буду ждать с нетерпением новой версии:)

Когда же ждать обновления плагина?

FesT, скорее всего на выходных, подписывайтесь на фид блога, обязательно оповещу

Не знаю когда смогу выделить для этого время, если кто хочет помочь, могу добавить в со-разработчики на http://wordpress.org/extend/plugins/yandex-fotki/

Автор, можно ли сделать чтоб в любой пост можно было вставлять фотографии по определенному тэгу из своих альбомов

Это планировалось, но сейчас нет времени это реализовывать. Если вы хотите присоединисться к разработке плагина, то милости просим )

к сожалению я не программирую.
остается только ждать когда у вас появится время

adw0rd, внемлите мольбам страждущих! Пожалуйста обновите ваш плагин!
У меня PHP5, последнея версия wordpress и те же проблемы о которых писалось выше:

1)Warning: simplexml_load_file()

2)в опции попасть не могу, пишет, что «У вас недостаточно полномочий для доступа к этой странице»

  1. У вас либо PHP5 собран без simple_xml, либо какой-нибудь fopen запрещен. Это все зависит не от плагина, а от настроек сервера.
  2. Да, это проблемы в новых версиях вордпресса, надо изменить процедуру авторизации, надеюсь появится время и я переделаю для новых версий
adw0rd ↓ | 18.10.2009 в 19:45 1. У вас либо PHP5 собран без simple_xml, либо какой-нибудь fopen запрещен. Это все зависит не от плагина, а от настроек сервера.

Да вот в том то и дело что нет!

SimpleXML
Simplexml support enabled
Revision $Revision: 1.151.2.22.2.39 $
Schema support enabled

allow_url_fopen On On

Я сам подумывал что-то подобное создать, может. А можно ваш плагин где-нибудь в действии посмотреть?

Добрый день!

В админке ввожу логин, при попытке войти в подраздел "Опции" выводиться сообщение: "Вы не имеете достаточно прав для доступа к данной странице."

Что я делаю не так?

andrey, можете себе поставить плагин и посмотреть его.
mx, вы не читаете комментарии в этом посте. Вкратце - этот плагин не работает с 2.8 и больше

Жаль, жаль - хороший плагин.

Постараюсь на неделе доделать для версии 2.8 и выше

Спасибо за плагин, но мне хотелось бы иметь доступ именно к защищенным фотографиям, хочу попробовать сам это реализовать, но опыта мало.
Первая проблема: имя-пароль передаются в зашифрованном виде, для чего яндекс предлагает свою библиотеку. Что нужно сделать с этой библиотекой чтоб использовать ее на обычном виртуальном хостинге? как и чем скомпилировать?

Марат, что за библиотека? Дайте ссылку

здесь написано как:
http://api.yandex.ru/fotki/doc/overview/tutorial-authorization.xml
а это чем:
http://download.yandex.ru/api-fotki/c-yamrsa.tar.gz

Ага, почитал. Так как там надо от утилиты просто RSA-шифрование, то подойдут любые средства для шифрования.

Что нужно сделать с этой библиотекой чтоб использовать ее на обычном виртуальном хостинге?

Я не уверен что у вас получится ее использовать на виртуальном хостинге, ибо надо собирать ее, а это не входит в возможности вирт. хостингов. Надо минимум VDS, VPS, либо что-то подобное.

как и чем скомпилировать?

Думаю gcc :) Но достаточно и мейка

Вы можете "собрать" так, чтобы у меня на вирт. хостинге работало?

Марат, вы меня явно не поняли, у вас на вирт. хостинге разрешено запускать стороннее ПО?

Во-во, всё это очень желательно:
- вставка галереи и фотки в пост при помощи короткого кода;
- при клике переход на картинку или лайтбокс, а не на яндекс;
- подписи к фоткам.

По поводу кєширования - возможно, складывать результат запроса в wp_posts записью типа attachment, но в своем собственном формате. Думаю, проблем не будет.

По поводу лайтбокса и т. п. - можно просто добавить ява-скриптик, который будет пробегаться по коду страницы, находить у ссылок/фоток подходящий class, и дописывает к ним class, href или там target (не помню точно), соответствующий лайтбоксу/тикбоксу/...боксу/чистофотке (на выбор админа блога, то есть чтобы вид бокса был не в коде прописан, а дописывался "на лету").

Кстати, применение "боксов" к фоткам с внешнего сервера вроде браузеры могут блокировать (недавно столкнулся, но в чём точно суть, пока не знаю).

adw0rd, конечно не понял, мне казалось, что я могу использовать сторонние скомпилированные библиотеки... вот цитата из возможностей моего тарифного плана:

"cgi-bin директория
В ней размещаются скрипты на Perl, C++ и др. Ее наличие дает вам возможность использования этих скриптов"

там-же написано С++, значит как-то можно!
давайте доведем это дело до конца, объясним мне, ламеру, все-же смогу или нет?

Марат, да, как-то можно, перепишите те сорцы под cgi скрипт
http://www.firststeps.ru/cgi/cgi1.html

Приветствую! Плагин обнови Михалыч :) на 2.9.1 ну никак не хочет...аналогия ошибок о недостатке прав.

Может ты мне в этом поможешь? :)
Вообще времени в обрез... Снова пообещаю и не выполню :(

Тоже не могу войти в Опции
Ошибка: "У вас недостаточно полномочий для доступа к этой странице."
Это значит только на последней версии WP так, очень жаль ( плагин нужный

Очень жалко, что обновляется так долго...

Ну так помогите

Если бы знал как это сделать, то с удовольствием

http://adw0rd.ru/2010/yandex-fotki-201/ обновил

Спасибо огромное за обновление! Как только найду мощный и не дорогой хостинг под свой блог, то обязательно посмотрю плагин в деле.

Пожалуйста отпишите меня от получения комментариев на эту запись.
С появлением версии 2.01 - эта тема уже не актуальна. :)

А за версию 2.01 - ОГРОМНОЕ спасибо!

Тут под формой ввода каммента "Управление подписками", там можно отписаться :)

А у меня не авторизируется плагин на блоге, что делать?

К сожалению плагин не поддерживается уже 4 года, если есть силы то вот репозиторий https://github.com/adw0rd/yandex-fotki

Оставьте свой комментарий

Markdown