Фотоблог на базе движка PixelPost

19 ноября 2011 | Комментарии: 0 |

По материалам АНДРЕЯ КЛИМИНА

Pixelpost (www. pixelpost .org) — это бесплатная систе­ма управления для организа­ции фотоблога на собствен­ном сайте, написанная на РНР и использующая в качестве базы данных СУБД MySQL. Последняя версия движка 1.7.3 вышла 2 сентября 2009 года.

Движок имеет целый штат активных поклонников среди пользователей и раз­работчиков. На форуме проекта более 9600 тем, более 65 000 сообщений, более 12 000 пользователей. Открыт раздел Pixelpost International, в котором созданы подразделы для пользователей из разных стран (соответ­ственно, с обсуждением на родных языках). В этом разделе есть и русскоязычный форум.

УСТАНОВКА PIXELPOST

Основные шаги и задачи

Установка и настройка движка занимает несколько минут, не требует знания РНР и MySQL. Будем считать, что вы уже позаботились о хостинге и зарегистрировали собственное доменное имя. Если нет, то для ознакомления вы легко можете установить Pixelpost на собственном компьютере, используя, к примеру, бесплатные сервера ХАМРР (www.apachefriends.org/en/xampp.html) или Denwer (www.denwer.ru). ХАМРР доступен для Microsoft Windows, Mac OS X, Linux, Solaris, a Denwer — только для Microsoft Windows.

ИНФОРМАЦИЯ

ПО-РУССКИ! Pixelpost поддержи­вает кодировку UTF-8 по умолчанию. Если возникли проблемы с отображением русских символов, создайте в папке, где установлен Pixelpost , текстовый файл с именем .htaccess со следую­щим содержимым: AddDefaultCharset utf-8.

Скачайте с сайта Pixelpost архив с последней версией движка. Разархивируйте его содержимое в локальную папку.

 

КАЧАЕМ

С помощью FTP-клиента закачайте все файлы движка на ваш сайт или в папку локального сервера.

ПРАВА ДОСТУПА

Установка выполняется инсталлятором, который нужно запу­стить, набрав в браузере ссылку вида HTTP://<ваш_сайт.ги>/admin. Инсталлятор сам определит, выполняются ли условия, необхо­димые для установки движка (версия РНР, библиотеки GD и т. п.). Для успешной установки нужно задать полные права доступа 777 или 755 для каталогов images/ и thumbnails/ (права можно задавать разными способами, например, в FTP-клиенте).

ВВОД ДАННЫХ

Далее необходимо ввести следующие сведения, которые предоставляют компании, оказывающие вам услуги хостинга. Database host — адрес сервера БД (для локаль­ных серверов, обычно — locahost); Database name — имя БД; Database username — имя пользователя (логин) БД; Database password — пароль для указанного выше пользователя БД; Database prefix — префикс таблиц в базе дан­ных (по умолчанию — pixelpostj.

ПАРОЛИ И АДРЕСА

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

НАЗВАНИЕ

На следующей странице вводим название фотоблога и настройки часового пояса

ФИНАЛ

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

Настройка. Важные мелочи, тонкости, особенности

Если вы добрались до завершения установки, то можно зайти в панель администрирования и загрузить вашу первую фотографию (New Image). Но сначала рекомендуем потратить несколько минут на начальную настройку вашего сайта.

Сразу после установки в разделе Options имеются четыре группы параметров. Рассмотрим эти группы более подробно.

Общие настройки (General)

В данном подразделе можно изменить заго­ловок и подзаголовок вашего фотоблога (title, subtitle), задать адрес вашего блога (URL).

Кроме того, в этом подразделе можно сме­нить логин и пароль администратора, выбрать основной языковой файл (base language), альтернативный языковой файл (alternative language), язык панели администрирования (admin panel language), адрес электронной почты администратора (admin e-mail). Здесь же настраиваются пути для хранения изо­бражений (images) и эскизов изображений (thumbnails), а также часовой пояс (timezone).

Можно настроить поведение Pixelpost при добавлении нового комментария (default action for comments): публиковать немедленно (publish instantly), добавить в очередь на моде-рацию (to moderation queue) или запретить комментарии (disable commenting). Можно включить уведомления о добавлении новых комментариев (send notification email on comments) и настроить, в каком формате они будут приходить — текстовом или в виде HTML.

Опцию Use time stamps, которая добавляет к имени загружаемого файла текущую дату и время, рекомендуем не отключать.

Настройка Book visitors сохраняет в базе данных информацию о посетителях вашего сайта, впрочем, существуют более продвину­тые инструменты для подобного анализа.

В текстовом описании фотографии вы можете использовать язык разметки Markdown (более подробно см. http://ru.wikipedia.org/
wiki/Markdown), предварительно включив одноименную настройку.

Вы можете включать или отключать ото­бражение EXIF-информации. Можно настроить RSS/Atom-поток, задав его название, описание, информацию о копирайте, количество записей и их способ отображения в RSS-агрегаторе (можно выводить в RSS полноразмерные изо­бражения, эскизы или текстовые описания).

Наконец, можно задавать порядок сорти­ровки изображений по дате (по умолчанию), названию или описанию.

НАСТРОЙКИ ШАБЛОНА (Template)

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

Здесь же задается формат отображаемой на сайте даты, в соответствии с функцией РНР date (http://ru2.php.net/manual/en/function. date.php), стиль отображения категорий и вид календаря (горизонтальный, вертикальный или отключен).

Эскизы (Thumbnails)

При загрузке фотографии Pixelpost автома­тически создает эскиз, согласно параметрам, заданным в этом подразделе. Можно задать размер эскиза (width и height), степень JPG-сжатия и уровень увеличения резкости (thumbnail sharpening).

Важным параметром является тип обрезки эскиза, т. е. способ получения уменьшенного изображения из исходного. Интересным спо­собом является режим 12Croplmage, при кото­ром на странице загрузки нового изображе­ния (или редактирования существующего) можно специальным инструментом выделить ту область исходного изображения, из которой мы хотим получить эскиз. Чтобы использовать инструмент 12Croplmage, его нужно предвари­тельно активировать (см. раздел «Расширения Pixelpost »).

Спам-контроль (SPAM Control)

Чтобы предотвратить появление нежелатель­ных комментариев, в Pixelpost существует целый ряд механизмов, направленных на защиту от спамеров. В соответствующих списках можно запретить использовать в ком­ментариях определенные слова, IP-адреса. Для предотвращения флуда можно задать мини­мальный временной интервал между коммен­тариями и максимальное количество ссылок в одном комментарии.

Дополнительные возможности по борьбе со спамом, такие как защита с помощью CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart), а также защита с помощью систем Akismet или Defensio, можно получить при использовании дополнительных расширений, о которых мы также поговорим ниже.

Категории

Для классификации своих фотографий можно использовать категории (categories). Каждый автор придумывает собственную классифика­цию, она может включать в себя жанр фотогра­фии (портрет, пейзаж, абстракция, спортивная съемка и т. п.); деление фотографий на цветные и черно-белые снимки; в категориях можно определять тематику снимка (природа, живот­ные и птицы, люди, дети и т. д.), словом, все, что вы посчитаете необходимым. В дальнейшем посетители фотоблога смогут просматривать фотографии по заданным вами категориям, что, безусловно, полезно.

Теги

Наряду с категориями, для описания изо­бражений можно использовать систему тегов (tags). Заметим, что в Pixelpost есть два разных понятия тега — теги шаблонов и теги, описы­вающие изображения. Использование тегов шаблона будет рассмотрено ниже.

В отличие от категорий, которые должны быть заданы заранее, теги можно прописывать непосредственно при загрузке или редактиро­вании фотографии. Доступ к определенному тегу осуществляется по ссылкам вида /index.php?x=browse&tag=boy (в данном примере в качестве тега выступает слово boy). Система тегов может как дополнять систему категорий, так и полностью заменять ее.

Чтобы задействовать теги в шаблонах, нужно включить стандартное расширение Page-By-Page-Archive for category and month (paged_archive).

Настройка шаблонов

Как было сказано выше, по умолчанию в Pixelpost установлены два шаблона — Simple и Horizon. Вы можете использовать предустанов­ленные шаблоны, скачать и установить гото­вые шаблоны, например, со страницы www. pixelpost .org/extend/templates/, или создать свой собственный уникальный дизайн.

Шаблоны находятся в папке /template/ и состоят из HTML-файлов в кодировке UTF-8. Файлы шаблонов — это обычные HTML-файлы, в которых можно использовать HTML-теги, CSS, скрипты JavaScript и т. д.

Шаблоном главной страницы является файл image_template.html, остальные выполняют функции дополнительных страниц фото­блога. Можно определить неограниченное количество дополнительных страниц по сле­дующему правилу: доступ к шаблону файла XXXX_template.html осуществляется по адресу http://<ваш_сайт.ru>/index.php ?х=ХХХХХ, где ХХХХХ — произвольное слово, состоящее из латинских символов, например, about, browse и т. д.

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

Полный перечень всех тегов, используемых при создании шаблонов, смотрите на стра­нице www. pixelpost .org/docs/TemplateTags/TemplateTags, кроме того, многие расширения предоставляют собственные теги шаблона.

Работа с фотографиями

Для загрузки новой фотографии в фотоблог (New image) выберите заранее подготовлен­ный в формате JPG файл выбранного разре­шения (не загружайте исходные фотографии высокого разрешения или файлы RAW). Задайте название (Image title), проставьте теги (tags), выберите категории снимка (categories), поместите текстовое описание снимка (image description). Кроме того, можно выбрать один из четырех вариантов задания времени публи­кации: опубликовать немедленно (post now), опубликовать спустя один день после времени последнего снимка (post one day after the last post), использовать данные из EXIF (use exif date) или задать произвольное время публи­кации (post on a specific date). Можно выбрать способ обработки комментариев пользова­телей: публиковать сразу (publish instantly), отправлять на модерацию (to moderation queue) или отключить комментарии для той или иной фотографии совсем (disable commenting).

В разделе Images можно редактировать (edit), удалять (delete) или открывать предварительный просмотр (preview) загруженных фотографий.

В зависимости от того, какие расширения у вас установлены и активированы, при загрузке и редактировании фотографий могут быть доступны другие поля и настройки.

Расширения Pixelpost

Несмотря на широкие возможности самой системы Pixelpost , существует большое коли­чество дополнительных программ — аддонов (будем называть их расширениями), написан­ных на языке РНР. На текущий момент на стра­нице www. pixelpost .org/extend
доступны 167 расширений, 91 шаблон, 22 языковых пакетов, а также дополнительные модификации работы скрипта.

Расширения находятся в папке /addons/ и позволяют выполнять различные операции как в панели администрирования, так и в лицевой части сайта, например, интегрировать фотоблог с Flickr, автоматически посылать ссылку о загруженной фотографии в Twitter, создавать слайд-шоу, собирать и отображать статистику посещения фотоблога, выводить облако тегов, автоматически масштабировать изображения, внедрять в фотографии водяные знаки, создавать пользовательские поля, уста­навливать дополнительную защиту от спама в комментариях, выводить при помощи GPS-координат место съемки на карте... и многое, многое другое.

Стандартные расширения

Сразу после инсталляции или загрузки в папку /addons/ расширения отключены, но могут быть активированы в панели администрирова­ния (раздел Addons). Для активации того или иного расширения необходимо нажать на его статус OFF в списке расширений. Статус изме­нится на ON, и расширение станет активным. После перезагрузки страницы станут доступны настройки расширений, если такие, конечно, имеются.

Расширения, предустановленные в Pixelpost (их подробное описание есть на нашем диске), могут быть с успехом использованы как в реальной работе фотоблога, так и для их изу­чения с целью написания собственных.

Двуязычный фотоблог

Начиная с версии 1.6 Pixelpost поддерживает двуязычный интерфейс. Ни много ни мало, но вы можете добавить к основному языку еще один, дополнительный, задавать дополнитель­ные (альтернативные) поля для фотографий (название фотографии, текстовое описание), использовать двойные названия категорий, применять два шаблона для отображения сайта, в зависимости оттого, какой язык в данный момент отображается. К сожалению, в базовой версии дистрибутива нет языковых файлов с поддержкой русского языка. Но все поправимо.

Сделайте резервную копию сайта (базы данных и файлов). Это золотое правило всегда спасает от больших и маленьких неприят­ностей, поэтому не стоит им пренебрегать. Архив файлов можно сделать с помощью FTP-клиента, а копию базы данных — используя, к примеру, phpMyAdmin.

На втором этапе придется создать два новых языковых файла. По умолчанию языко­вые файлы расположены в каталоге/language. Для каждого языка существует два файла, например, для английского языка это файлы admin-lang-english.php (панель администри­рования) и lang-english.php (пользовательская часть сайта). Для русского языка необходимо создать два файла с именами lang-russian.php и admin-lang-russian.php. Разумеется, кодиров­ка файла обязательно должна быть UTF-8.

После настройки языковых файлов можно настроить работу сайта в меню Options, секция Language file. Выберите русский язык в списке предложенных языков (поле Alternative language settings должно быть пока отключено — Disabled). Проверьте работу фотоблога на русском языке.

Следующий этап — создание файлов шаблона для второго языка. Файлы шаблона Pixelpost находятся в каталоге templates, напри­мер, templates/horizon или templates/simple. К примеру, файлы шаблона Simple имеют вид about_template.html, browse_template.html, comment_template.html и image_template.html. Теперь необходимо создать шаблоны для аль­тернативного языка по следующему образцу: файл шаблона основной страницы будет иметь имя image_ru_template.html (соответственно, остальные файлы: about_rujemplate.html, browse_ru_template.html, comment_ru_template. html). Естественно, для отображения сообще­ний в этих файлах будет выбран языковой файл lang-russian.php. Вы можете модифицировать эти файлы как пожелаете и, таким образом, задать шаблон для русской версии фотоблога.

Как же осуществляется переход от одной версии сайта к другой? Все очень просто: язык указывается с помощью переменной lang=ru или lang=en, например, ссылка для фотоблога: на английском языке — http:// ваш_сайт.ru/index.php?lang=en, на русском — http:// ваш_сайт.ru/index.php?lang=ru. Для облегчения построения ссылки введен тег вида <LANGUAGE=EN> или <LANGUAGE=RU>. Используйте его в шаблоне, и ссылка для перехода от одной версии сайта к другой будет генерироваться автоматически.

Последний выбранный язык сохраняется в куках (cookie), поэтому переменная lang в адресе нужна только для переключения языка или явного его указания.

ДОПОЛНИТЕЛЬНАЯ ЗАЩИТА

с помощью .htaccess

Несмотря на отсутствие известных способов взлома системы безопасности Pixelpost (по крайней мере в последней версии), рекомендуется блокировать доступ к файлам панели админи­стрирования с помощью механизма авторизации веб-сервера Apache.

Для этого необходимо создать текстовый файл с именем .htaccess (начинается с точки) в папке admin/ со следующими директивами (не забудьте указать правильный путь до файла .htpasswd):

<Files index.php>

AuthName "For Admins Only"

AuthType Basic

AuthUserFile <Путь_до_файла с napолями>/.htpasswd

require valid-user

</Files>

Файл с паролем .htpasswd (для пользователя admin) можно создать с помощью утилиты htpasswd (которую можно скачать практически для любой операционной системы):

> htpasswd - с .htpasswd admin

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

Фотоблог из Flickr

Устанавливаем и настраиваем

Многие пользователи загружают свои фотографии на сайты-фотохостинги, такие как Flickr (http://flickr.com). Оказывается, можно создать собственный stand-alone фотоблог так, чтобы на нем отобра­жались фотографии из вашего Flickr-аккаунта.

Для этого мы воспользуемся PHP-скриптом Flogr, который, по сути, является надстройкой над вашей страницей на Flickr (http://code. google.com/p/flogr). Кроме фотографий, Flogr отображает EXIF, информацию о комментариях, архив фотографий, облако тегов, а также страницу об авторе.

СКАЧАТЬ

Для начала скачайте архив со страницы проекта и разархивируйте его в любую локальную папку на компьютере.

АЙДИ

На страни­це http://idgettr.com нужно ввести ссылку на ваш flickr-аккаунт и полу­чить идентификатор Flickr User ID (начиная с версии 2.2 поддер­живаются группы — Flickr Group ID).

ИНДЕНТИФИКАТОР

Полученный идентификатор пользователя имеет вид:

12345678@N00, вписываете его в конфигурационный файл admin/config.php в строке "OPTIONAL_SETTING('FLICKR_USER_ID', '12345678@N00');".

НАСТРОЙКИ

При необходимости можно настроить другие параметры, такие как название и описание сайта, размер основной фото­графии, размер изображений в архиве и др.

ШАБЛОНЫ

Если вас не устраивает шаблон по умолчанию, можно откор­ректировать его (themes/blackstripe).

УСТАНОВКА ЗАВЕРШЕНА

Осталось с помощью FTP загрузить все файлы проекта на ваш сайт. В заключении можно отметить наличие у Flogr слайд-шоу, поддержку RSS 2.0, полностью настраиваемого шаблона; возмож­ность фильтрации изображений по тегам, возможность кеширования в базе данных MySQL или файлов на вашем хостинге (опционально).

 

 

 

 

Метки: