← Все записи

Плагин для 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. Так же создал отдельную страницу /ext/wp-yandex-fotki/ там будут публиковаться свежие версии, однако пост в блог тоже будет.

Комментарии 75

Архив обсуждения. Новые комментарии закрыты.

adw0rd

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

eavasi

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

yuri

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 Version 4.4.8

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

yuri

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

Andrey

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

alex

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

4g3n7

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

Сейчас попробовал поставить (вордпресс 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
adw0rd

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

4g3n7

Ага, обновил пхп до 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

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

4g3n7

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


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
adw0rd

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

4g3n7

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

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

adw0rd

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

adw0rd

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


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

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

Lws

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

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

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

Lovedancer

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

adw0rd

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

Lovedancer

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

Lovedancer

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

MaEcTPo

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

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

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

adw0rd

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

Эдуард

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

adw0rd

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

Эдуард

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

Alexey

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

1)Warning: simplexml_load_file()

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

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

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

Добрый день!

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

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

adw0rd

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

Марат

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

adw0rd

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

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

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

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

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

Марат

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

adw0rd

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

andrey

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

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

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

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

Марат

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

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

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

Ал

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

adw0rd

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

adminka

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

Lovedancer

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

Alexey

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

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

adw0rd

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