Оригинал материала: https://3dnews.ru./169157

Галереи для PhpNuke и PostNuke

Стр.1 - Gallery, Photoshare.

Автор: Алексей Кутовенко

При построении сайта нередко возникает задача размещения на его страницах подборок фотографий, рисунков, схем и других файлов такого рода. Кроме простого размещения такую коллекцию неплохо было бы структурировать, упростить добавление новых файлов и последующую работу с ними, придать ей приличный внешний вид. Другими словами, нам нужна онлайновая галерея.

Чтобы получить простейшую галерею из небольшого количества файлов и маловероятными перспективами обновления, можно, конечно, и самому сверстать HTML-страничку с миниатюрами, линки от которых будут вести к полноразмерным картинкам. В целях автоматизации процесса можно воспользоваться программами, способными самостоятельно генерировать такие альбомы - взять хотя бы ACDSee. Здесь все становится проще, для некоторых случаев большего и не требуется, но такой вариант не учитывает возможности постоянной работы над одним альбомом нескольких человек, да еще с различными полномочиями. Таким образом, для крупного, обновляемого собрания, над которым будет одновременно работать несколько групп авторов и администраторов нам необходимо комплексное решение.

В статьях, посвященных работе с различными готовыми скриптами для сайтов, нередко упоминается наличие у многих из них модулей расширения. Такие компоненты позволяют значительно расширить возможности сайта, работающего на одной из таких систем. Их количество во многом зависит от популярности какой-либо конкретной CMS и особенностей разработки под нее. Сегодня мы попробуем воспользоваться данной возможностью и построим онлайновую галерею с помощью встраиваемых модулей на примере порталов PhpNuke и PostNuke.

Начнем с ветерана - PhpNuke. Модули для него можно отыскать в соответствующем разделе официального ресурса phpnuke.org. Весьма полезным является также сайт phpnuke.ru.

Различные модули, подключаемые к PhpNuke, могут иметь свои особенности в установке. Для одних достаточно только разархивировать папку с файлами модуля и скопировать ее в подкаталог modules каталога PhpNuke, после чего они активируются в разделе "Модули" меню администрирования PhpNuke. Другие оснащены собственным инсталлятором или имеют какие-либо еще особенности. В том случае, когда процесс установки предполагает некие нетривиальные действия, в документации к определенному пакету такие моменты, как правило, подробно раскрываются.

Gallery


Текущая версия:Gallery v1.4-pl2
Домашняя страница:gallery.menalto.com, gallery.sourceforge.net
Размер:1.9 Mb (архив) / 6.2 Mb (на диске)
Качать:Здесь

Пакет Gallery позволяет организовать большие массивы медиа-файлов в иерархически структурированные альбомы, что обеспечивает удобство пользования ими, а также приличный внешний вид подобных собраний, размещаемых на сайте. Поддерживаются форматы jpg, jpeg, gif, png, avi, mpg, mpeg, wmv, mov, swf и mp4.

Для работы этот скрипт потребует наличия PHP не ниже 4.0.4. Приветствуется отключение опции magic quotes в настройках PHP и разрешение от сервера на использование файлов специфических настроек .htaccess. Для этого в настройках Apache для каталога галереи необходимо указать параметры AllowOverride Options FileInfo. Наконец, нелишним будет наличие mod_rewrite, который позволит избавиться от чересчур длинных URL, jpegtran, а также jhead для корректной обработки EXIF-заголовков файлов, сгенерированных цифровыми камерами.

Для манипулирования изображениями Gallery использует NetPBM и, в последних версиях, ImageMagick. GD принципиально не поддерживается. Поскольку далеко не на всех серверах установлены названные пакеты, разработчики Gallery предлагают свой вариант NetPBM, предварительно скомпилированный и не имеющий зависимостей, так что его можно просто скопировать в директорию на сервере и прописать путь к нему в конфигурационных файлах Gallery. Это может быть весьма неплохим вариантом, а скачать такой пакет можно с официальной страницы Gallery на sourceforge.

Установка Gallery происходит следующим образом. Первым делом необходимо определиться с каталогом для этого модуля. Если мы хотим видеть свою будущую галерею частью phpNuke, то распаковка архива должна производиться в каталог modules системы PhpNuke. Поскольку Gallery может работать и в автономном режиме, без phpNuke, можно поместить данный скрипт в наш домашний каталог на сервере. После того, как файлы Gallery распакованы и скопированы на сервер, приступим к настройке окружения.

При установке на Unix/Linux сервер после закачки файлов gallery на сервер надо создать в ней файлы config.php и .htaccess. Еще нам потребуется каталог для хранения изображений с именем albums. Он может находиться как внутри каталога Gallery, так и в каком-либо другом месте внутри нашего домашнего каталога на сервере. Затем необходимо выставить права доступа к определенным файлам и каталогам:

  • chmod 777 albums
  • chmod 666 .htaccess
  • chmod 666 config.php
  • chmod 755 setup/

где albums и setup - каталоги.

Если нам понадобится отладить Gallery на тестовом Apache под Windows, то здесь порядок действий будет несколько отличаться от изложенного выше. После размещения файлов в соответствующих каталогах стоит проверить конфигурационный файл php.ini, в котором должно быть явно указано отключение magic quotes, а также прописан путь к существующей папке в директиве session.save_path. Заодно стоит проверить в httpd.conf нашего Apache включение загрузки mod_rewrite.

Теперь запускаем инсталлятор, для чего открываем адрес http://www.наш_адрес/путь_к_каталогу_gallery/. На первой странице нам будет предложено выполнить определенные действия по обеспечению безопасности пакета, так что следуем инструкциям и переходим к следующему этапу - определению основных свойств Gallery.

Последние версии Gallery обладают встроенной многоязычностью, так что инсталлятор сразу выдает многие пояснения на русском языке. Последовательно указываем требуемые опции, прописываем необходимые пути, создаем первую галерею. Последняя страница показывает содержание получившегося у нас в итоге конфигурационного файла, а также выводит сообщения об ошибках. Если таковые возникли, необходимо вернуться назад и исправить неправильные сведения.

Рассказывать о работе с данным пакетом можно достаточно долго, однако это не значит того, что здесь требуется длительная тренировка. Основные пункты, вроде "Создать альбом", "Редактировать…", "Загрузить…" понятны, как говориться, на интуитивном уровне, так что начинать работать можно сразу после завершения установки, благо русский интерфейс весьма этому способствует.


Главное - не забыть сразу выставить полномочия различных пользователей галереи. К скрипту Gallery прилагается неплохая документация (на английском), способная ответить на многие вопросы. Живой иллюстрацией работы пакета может служить демо-страничка на сайте проекта, с которой и был снят приведенный скриншот.


Photoshare


Текущая версия:Photoshare 3.1.0
Домашняя страница:www.elfisk.dk, sourceforge.net/projects/elfisk/
Размер:197 Kb (архив) / 520 Kb (на диске)
Качать:здесь

Данный модуль обладает рядом интересных возможностей. Требования Photoshare достаточно скромны, так что если мы смогли запустить PostNuke, то и галерея заработает. Скрипт отличается повышенной гибкостью в отношении выбора средств обработки изображений. Галерея может использовать внешние пакеты ImageMagick или NetPBM, расширение PHP GD, а также вообще способна обходиться без перечисленных средств, возлагая эти функции на браузер клиента. Установка скрипта проходит стандартным для модулей PostNuke способом, изложенным выше. После завершения инсталляции перейдем к его настройке. Открыв соответствующую панель, мы увидим следующие опции:

  • Способ хранения изображений - в специальном каталоге или в базе данных.
  • Если мы в предыдущем пункте выберем каталог, то затем необходимо будет указать абсолютный путь к нему.
  • Способ демонстрации галереи - с сохранением обычной структуры интерфейса PostNuke или в "полноэкранном" режиме.
  • Тема, к которой будет по умолчанию относится создаваемый альбом.
  • Стиль оформления альбома - Gallery показывает главный альбом в режиме просмотра слайдов и все вложенные альбомы в виде закладок на специальной панели внизу главного окна. Это позволяет быстро переходить от одного изображения к другим. Назначение Slideshow - последовательный показ изображений с некоторой задержкой, которую можно регулировать. При выборе Thumbnails альбом представляется набором миниатюр.
  • Способ отображения списка альбомов - Flat - все альбомы показываются в едином списке, Nested - перейти к вложенным альбомам можно через главный альбом, Original - отображение родительских альбомов в табличном виде, с показом информации о создателе альбома, его теме, дате создания и количестве изображений.

Добавление файлов можно произвести несколькими способами. В режиме редактирования альбома можно добавлять изображения с помощью специальной формы. Поскольку мы обладаем полномочиями администратора, нам доступна возможность оптового добавления в альбом файлов из определенной директории на сервере. Готовый альбом необходимо опубликовать, определив при этом полномочия на доступ к нему и его модификацию. Если мы не хотим показывать альбом всем желающим, можно отправить e-mail с приглашением и паролем некоторым избранным пользователям.


Действующую в режиме Slideshow демонстрационную галерею на Photoshare можно посмотреть здесь.


Стр.2 - Coppermine Gallery, My eGallery

Coppermine Gallery


Текущая версия:Coppermine Gallery 1.2.0rc2
(стабильная - Coppermine Gallery 1.1.1)
Домашняя страница:coppermine.sourceforge.net
Размер:1.6 Mb (архив) / 1.5 Mb (на диске)
Качать:здесь

Данный пакет изначально был разработан на базе PHPhotoalbum для работы с PhpNuke, однако его популярность привела к его портированию на другие CMS, в частности PostNuke. Архив содержит несколько версий галереи: для PhpNuke 5.x - 6.x и для PhpNuke 6.5 - 6.8.

Установка галереи происходит следующим образом: загружаем папку coppermine из распакованного архива в каталог modules нашего PhpNuke, выполняем файл coppermine.sql, после чего уже можно активировать новый модуль при помощи панели администрирования PhpNuke. Как видим, в таком процессе установки вносятся изменения в структуру базы данных PhpNuke, о чем необходимо помнить при дальнейшей работе с порталом.

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


Что касается локализации, то Coppermine Gallery переведена на более чем тридцать языков, имеются и русские варианты. Эти пакеты можно загрузить с официальной страницы проекта. Что касается русского пакета для последней версии 1.2.0, то особо надеяться на него не советую: хотя основные позиции там переведены сносно, ему определенно не хватает изящества в мелочах, так что если вы остановитесь именно на нем, желательно провести его "ручную" доработку сообразно духу вашего проекта. Все операции над языками осуществляются путем правки соответствующего .php - файла в подкаталоге lang.

Наиболее полезным для ознакомления с возможностями рассматриваемого модуля способом представляется просмотр рабочей демонстрационной галереи.


"Многоплатформенная" Coppermine Gallery послужит нам своеобразным мостиком для плавного перехода к рассмотрению модулей галерей активного и весьма амбициозного потомка PhpNuke - известной системы PostNuke. Источники получения новых модулей - официальный сайт mods.postnuke.org. Кроме него стоит заглядывать и на postnuke.ru, где можно отыскать пакеты русификации, а также набор уже переведенных на русский язык модулей. Перед началом обзора собственно модулей, хотелось бы напомнить, что не так давно PostNuke поменял свой API, следствием чего стала невозможность корректного использования модулей для старых версий этого портала с его новыми вариантами. Это следует иметь в виду при выборе необходимых пакетов расширения.

Если разыскать пакет русского языка для необходимого модуля так и не удалось, всегда можно заняться самостоятельным переводом, это не так сложно при условии владения английским языком. Для этого в каталоге lang (или pnlang) модуля надо создать подкаталог rus, скопировать туда все файлы из каталога eng, после чего, открывая их в каком-нибудь текстовом редакторе, заменить английские значения сообщений русскими эквивалентами. После этого при выборе в PostNuke русского языка интерфейса модуль также будет работать на этом языке.

Аналогичным способом реализуется и поддержка любого другого необходимого нам языка. Давайте припомним самые общие принципы установки модулей в PostNuke. Скачанный архив следует распаковать, после чего скопировать полученную папку с файлами модуля в каталог modules нашего PostNuke. Затем заходим в Центр Администрирования - Модули. Выбираем пункт "Перегенерировать". Находим в списке новый модуль, у которого будут доступны некоторые опции, нам требуется "Инициализировать". Теперь активизируем его и возвращаемся на страницу Центра Администрирования. В отличие от PhpNuke, доступ к настройкам модулей PostNuke осуществляется централизованно, соответствующие иконки появляются на главной странице Центра Администрирования. Теперь перейдем к обзору конкретных пакетов.

My eGallery


Текущая версия:MeG 3.1.1
Домашняя страница:www.marsishere.net
Размер:374 Kb (архив) / 1.5 Mb (на диске)
Качать:здесь

Этот скрипт, часто именуемый просто MeG, отличается богатством настроек а также наличием плагинов, еще более расширяющих его возможности. Он был построен на базе более раннего скрипта eGallery, внеся множество дополнений в исходный код. Распространяется под GNU/GPL v.2. Работа с My eGallery облегчается наличием русификатора, который можно скачать на postnuke.ru. Вообще-то он предназначен для версии 3.0.3, но совместим и с 3.11. Правда, некоторые сообщения так и останутся без перевода, но поправить несколько значений в конфигурационных файлах намного проще, чем переводить модуль с нуля.

По завершении процесса инсталляции откроем административную панель My eGallery и посмотрим, что нам предлагают разработчики. Итак, на главной странице мы видим следующие разделы настроек:

  • Основные установки - базовые параметры галереи, например путь к каталогу для хранения загруженных изображений, разрешение на печать изображений, распределение полномочий добавления материалов (администратор, зарегистрированные пользователи или все желающие), ограничение максимального размера загружаемых файлов. Кроме этого, здесь определяются настройки внешнего вида галереи, а также способ генерации миниатюр. Выбор широкий - от размещения в галерее собственноручно изготовленных миниатюр до использования NetPBM или ImageMagick.
  • Управление плагинами - добавление новых или удаление ненужных плагинов. Способ работы такой же, как и со списком модулей PostNuke в целом - название плагина и опции "Инициализировать", "Активировать" и так далее - со всем этим добром мы уже встречались раньше.
  • Управление серверами - поскольку отдельные разделы нашей галереи можно хранить на разных серверах, здесь присутствуют формы для внесения соответствующих сведений.
  • Редактирование категорий - здесь определяется структура будущей онлайновой галереи. Возможно вложение, создание категорий различного уровня. Таким образом, мы можем получить структуру в виде иерархического дерева, что будет весьма полезно при работе с большим количеством изображений. При создании категории указывается ее имя, описание, имя каталога для хранения файлов, права доступа к ней и некоторые другие настройки.
  • Управление типами файлов - на этой странице можно сделать некоторые настройки отображения файлов различных типов. Поскольку My eGallery работает не только с картинками, но и с аудио/видео-файлами, эта возможность представляется совсем не лишней. Каждому типу файлов с определенным расширением сопоставляется необходимый код. Разобраться помогут уже внесенные в формы примеры.
  • Автоматическое построение - выбрав сервер и категорию, мы можем произвести поиск новых добавленных файлов и подкаталогов. Возможно их автоматическое добавление к галерее. При желании автора и описание, которые будут по умолчанию присвоены новым файлам.
  • Подтверждение добавлений - размещение в галерее файлов, присланных пользователями.

Как видите, здесь есть где развернуться творческому человеку - возможности администрирования достойные. Лучший, на мой взгляд, вариант подробного изучения MeG - практика работы с модулем.

Осталось оценить результат этих усилий - готовую галерею. Нам предлагается раскрывающееся дерево категорий с одной стороны и набор миниатюр с другой. Под каждой картинкой отображается некоторая информация: дата публикации, рейтинг, количество просмотров. Картинки можно сортировать по различным признакам. Кликнув на миниатюру, мы получаем развернутое изображение в натуральную величину. Кроме этого, на странице изображения можно оставить комментарий, а также выставить свою оценку увиденному. Эти возможности требуют предварительной активации соответствующих плагинов, включенных в архив My eGallery 1.4.


Нами были рассмотрены некоторые из доступных на сегодня скриптов онлайновых медиа-галерей или, если хотите, медиатек. Время от времени выходят новые программы, обновляются существующие. Работая с малоизвестными пакетами, не стоит забывать, что ответственность за безопасность и доброе здравие наших web-проектов зависит главным образом от нас самих, так что совсем не лишним будет познакомиться с кодом устанавливаемых скриптов на предмет наличия сомнительных или просто не совсем удачных участков. Что касается предлагаемых респектабельными ресурсами и проверенных на практике другими web-мастерами пакетов, то стоит постараться не пропускать сообщений о найденных в них недостатках, если таковые отыщутся, и вовремя устанавливать исправления. Эти советы банальны, но лучше еще раз вспомнить о них, чем разгребать потом останки искореженного сайта. Легкая (подчеркиваю - легкая) форма паранойи в данном случае вполне уместна.

Подведем краткий итог. Все упомянутые пакеты распространяются бесплатно. Стандартными возможностями скриптов такого назначения можно считать поддержку большого количества файловых форматов, - они могут успешно работать не только со статичными картинками, но и со звуком или видео. Пакеты способны взаимодействовать с несколькими группами пользователей, обладающих полномочиями различного уровня. Галереи могут интегрироваться в портальные CMS, расширяя их возможности. Кстати говоря, кроме собственно модулей, существуют и органично дополняющие их блоки, которые способны показывать посетителям списки альбомов, случайные или определенные заранее изображения из них, статистику обращений и другие полезные вещи. Так что, решив использовать какую-либо готовую галерею, стоит проверить наличие для нее интересных блоков под вашу CMS.



Оригинал материала: https://3dnews.ru./169157