Пишу о своей жизни, науке и компьютерах.

Обновление плагина A. Gallery

7 февраля 2012, 14:16
Плагин A. Gallery, который я написал в прошлом году наконец обновлен. Я переписал большую часть кода. Это было необходимо, так как выявились различные проблемы. В нем использовалась библиотека timthumb.php, которая очень удобна, но из-за нее возникают проблемы связанные с необходимостью настройки и безопасностью. Я даже находил упоминание плагина на сайтах, где разбирались уязвимости WordPress и различные методы взлома. К тому же, раньше для привязки, отвязки и изменения порядка изображений приходилось перезагружать страницу редактирования поста. При этом могли потеряться данные введенные пользователем. Еще одной проблемой стало странное поведение галереи на lightbox 2.

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

Перезагрузка страницы редактирования поста не нравилась мне с самого начала, но как от нее уйти я тогда не придумал. Были идеи сделать что-то в отдельном <iframe>, но это было как-то неуклюже. Потом я придумал простой вариант: при нажатии кнопки сохранить перезагружать содержимое блока при помощи jQuery.ajax(). Но есть еще один, казалось бы, недостаток: если пост не опубликован, то картинки не появляются в блоке «Управление изображениям». Однако тут все логично: пост появляется в базе только после публикации, и только после этого у него рождаются все необходимые параметры, такие как мета и ID, без которых невозможно привязывать, отвязывать или изменять порядок изображений.

Замену lightbox 2 на fancybox я объясню тем, что мне она больше понравилась как в настройке так и внешне. Больше тут нечего сказать.

Чтобы получить плагин вам необходимо зайти в меню «Плагины», потом нажать на ссылку «Добавить новый», найти «A. Gallery», установить и активировать его. Или можно скачать его и положить файлы в wp-content/plugins. Если приятнее пользоваться Git, то вам сюда:
git clone git://github.com/rabdano/A.-Gallery.git
Скачать плагин A. Gallery
2 комментария
Serg
Плаг вызывает ошибку: Catchable fatal error: Object of class WP_Error could not be converted to string in /home/.../a-gallery/functions.php on line 358

из-за $thumblink

Происходит на локальном сервере (без инета)
Cheyako
Проблема наблюдается когда к посту уже приатачены изображения и только потом добавляется шорткод. После добавления еще одного изображения все ок. Надо понимать дело в том что посту не устанавливаются аттрибуты «ag_attached_images»
Популярное