LINUX.ORG.RU
ФорумTalks

Фотогалерея by moscwich

 


0

1

Пишу сабж. Об этом помнят post-factum и kovrik. На данный момент я реализовал основные возможности, чтобы можно было поковырять и может быть даже юзать. Хотя многого еще нет для достаточного удобства.

Основные тезисы:

  • Требования по клиентской части:
    • Разрешение экрана от 800x600;
    • Без флеша, возможна полноценная работа без JS (его и вообще немного);
    • Последнии версии IE, FF, Chrome, Opera или с ограничениями IE8 (ну а больше браузеров нет).
  • Требования по серверу:
    • PHP >=5.3 или с ограничениями PHP 5.2;
    • GD, SQLite2 (простите за слоупочество, конечно это временно).
  • Альбомы, фотографии разных расширений, комментарии к фотографиям, еще надо бы (?) и к альбомам.
  • Юзеры, которые правда потом будут выпилины в кукки к едерени фени.
  • Отличное SEO для индексации изображений и не только (на данный момент еще не совсем с этим идеально, ну ладно).
  • Можно (не сложно) запилить для фотографий любые поля и по ним можно будет, как минимум, списки сортировать и фильтрофать.
    Конкретно, при выводе списка с эскизами все параметры запроса GET, кроме зарезервированных, являются фильтрами по соответствующим полям=>значениям; а значение параметра sort будет полем сортировки. С альбомами все также, хотя вряд ли надо. Ну и подобных фич еще до кучи, на самом деле.
  • На данный момент у фотографий может быть дата, описание (название), примечание (дополнительное описание), а также булевые параметры: обработана ли была фотография и разрешена ли ее индексация. В будущем дата и значение обработки будет заполняться автоматически при загрузке (разборе из /tmp) на основе EXIF.
  • Одна из главных фич в задумке, к сожалению, ныне еще не реализованная - генерация HTML или BB для публикации фотоотчета в блог или на форум.

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

Посмотреть галерею можно: http://al-moscwich.tk/gal (логин - root; пароль - admin; только не удаляйте ничего, логин, пароль не меняйте).
Фотографии достаточно большие (100% качество). Загрузка файлов работает только по одному (это ограниечние PHP 5.2, наверное; на локалхосте норм).

Теперь главное. Помогите, пожалуйста, придумать название. Также буду рад, если кто-либо захочет поучаствовать в разработке.

Исходники (с несколькими фотографиями): http://al-moscwich.tk/data/gal.tar.gz
ООПщики! Вы смотрите данные сорцы на свой страх и риск, ибо в них вы не увидите ни одного класса, и увидите лишь с десяток функций, заданных лишь с целью не оставлять в разных местах похожий код. Во избежании батхерта, я предупреждал.
Алсо, это не то что бы не реализ, это даже не пре-реализ, так что комментариев в коде не много, и оформление может быть не везде, какое должно быть (впрочем, такое, какое должно быть по-моему, многим тоже не нравится).

Ну и скажите нужно ли это все вообще кому-либо, кроме меня...



Последнее исправление: moscwich (всего исправлений: 1)

Хочется, чтобы всегда наверху было

Альбомы | Фотографии | Станция...

А не только Prev, когда не на первой фотке.

Bad_ptr ★★★★★
()

(логин - root; пароль - admin; только не удаляйте ничего, логин, пароль не меняйте).

Убери от греха подальше.

Ну и скажите нужно ли это все вообще кому-либо, кроме меня

Даже если и нет, то всё-равно пили, руку набивай.

Solace ★★
()

Теперь главное. Помогите, пожалуйста, придумать название.

Фотогалерея -> фото -> альбомы -> Albine.

Sadler ★★★
()
Ответ на: комментарий от Bad_ptr

Также, имхо, нужны стрелки по бокам — назад, вперёд, А при клике на картинке, чтоб просто её src загружался в браузере.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Ну там есть одна интерфейсная задчка, сложно объяснить. Но я ее решу, так что как-то так и будет.

moscwich
() автор топика

Запили режим редактирования, как в андроидах, в котором при клике на превью оно отмечается. А то попадать по мелким чекбоксам не айс.

Dragon59 ★★
()
Ответ на: комментарий от Solace

Убери от греха подальше.

Да ладно, пусть админку поковыряют ;)
Напортачат чего, я перезалью...

moscwich
() автор топика
Ответ на: комментарий от Debasher

Ты так повествуешь, будто это сложная задача.

Нынче успешны компании, делающие что-то простое, но отлично, а не комбайны-момбайны.

helios ★★★★★
()
Ответ на: комментарий от Bad_ptr

Также, имхо, нужны стрелки по бокам — назад, вперёд, А при клике на картинке, чтоб просто её src загружался в браузере.

А это, уважаемый, стереотипы называется. Во всех браузерах давно есть «копировать адрес картинки» и «открыть картинку [в новой вкладке]». А вот NEXT должен быть очень близким (удобным, большим), ну и фича с разными разрешениями еще добавляет...

moscwich
() автор топика

ну а больше браузеров нет

есть кошерный ff 3.6

teod0r ★★★★★
()
Ответ на: комментарий от cdshines

Фотографии каких именно расширений?

Разных, каких захочешь. У юзеров есть возможность запилить любое разрешение любым фотографиям. См. еще лист в правом верхнем углу при просмотре.

moscwich
() автор топика
Ответ на: комментарий от moscwich

Фотографии каких именно расширений?

У юзеров есть возможность запилить любое разрешение любым фотографиям.

Ну вот только давайте не путать расширения и разрешения.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Блин, невнимательно прочел...
cdshines, JPG (JPEG, jpeg, jpg). Может быть еще исходник RAW (много разных расширений) - файл появится в списке разрешений фотографии, при его выборе будет загружен.

moscwich
() автор топика

Ну и скажите нужно ли это все вообще кому-либо, кроме меня...

Тут я подбирал галерею, да так пока и не собрался. Для домашних целей, в качестве замены всяким дигикамам с фспотами. Основных требований два, из которых у тебя, насколько я понимаю, одно присутствовать будет - это теги, как и положено фотокатолагизатору. А второе - работать с файловой системой, потому что не заливать же дома через http, и ещё по возможности что бы оно не трогало а писало куда нибудь себе отдельно. Как у тебя с вторым вопросом? В принципе это похоже на обычную задачу заливки по ftp с последующим использованием.

sin_a ★★★★★
()

Последнии версии IE, FF, Chrome, Opera или с ограничениями IE8 (ну а больше браузеров нет).

Эээ, а в Fx работать не будет?

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

теги

Ох не скоро...

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

А что такого в http? Мультивыбор же все-равно (в нормальных браузерах).
Да будет (скоро) обработка (добавление в базу) из /tmp, но это как-раз удобно прежде всего, когда галерея находится удаленно.

moscwich
() автор топика

логин - root; пароль - admin

Чего-то не заходит. При нажатии на верхнюю кнопку не происходит ничего, только браузер предлагает сохранить пароль. Firefox 14.

gentoo_root ★★★★★
()
Ответ на: комментарий от moscwich

Да нет, http конечно нормально, но если всё в пределах дома (замена дигикамам, но что бы у всех общие теги), то зачем всю массу так перегонять, когда можно просто скопировать на файловую систему.

В общем понятно, в целом на другие задачи ориентировано.

sin_a ★★★★★
()
Ответ на: комментарий от gentoo_root

Чего-то не заходит. При нажатии на верхнюю кнопку не происходит ничего, только браузер предлагает сохранить пароль.

Sorry, я тогда не этот пароль поставил ;)
Обновил.

moscwich
() автор топика
Ответ на: комментарий от Reinar

reinar@jaim.at

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

moscwich
() автор топика
Ответ на: комментарий от moscwich

Jabber уже в профиле. А к тебе что-то достучаться не могу (у jaim что-то последнее время критические дни - так что свалил на 0nl1ne, в профиле новый жаббер).

И кстати, форма аплоада работает?

Reinar
()

Помогите, пожалуйста, придумать название.

Можно назвать женским именем, либо просто подобрать красивое английское слово, название цветка.

Например: Victorya Gallery, Carnation Gallery. Carnation - гвоздика по русски.

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

Читал исходники - неплохой стиль оформления, похвально.

Ну и скажите нужно ли это все вообще кому-либо, кроме меня...

Сам спросил - сам ответил о привлечении дополнительных разработчиков к данному проекту:

Также буду рад, если кто-либо захочет поучаствовать в разработке.

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

Deleted
()
Ответ на: комментарий от moscwich

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


PHP Error Message

Warning: sqlite_array_query() [function.sqlite-array-query]: near "=": syntax error in /home/a3095949/public_html/gal/admin/edit.php on line 3

Free Web Hosting
На главную Пользователь: root  

PHP Error Message

Warning: Invalid argument supplied for foreach() in /home/a3095949/public_html/gal/admin/edit.php on line 42

Free Web Hosting
Обратите внимание, обновление информации может занять несколько секунд 

Я в подробности не вдавался, но, возможно, этот баг можно эксплуатировать для выполнения своего кода на сервере. Насколько я понял из сообщения об ошибке, получается что-то типа «переменная = данные_от_клиента». Данные от клиента в данном случае пустые, но если они никак не экранируются, то можно делать нехорошие вещи. Если там всё нормально экранируется, берётся в кавычки и т.п., то нужно только сделать проверку на пустое значение, чтобы не было некрасивых и непонятных пользователям сообщений об ошибке.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

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

А экранирование там есть - правда вот только со стороны веб-сервера. Если бы не грамотные руки человека, настраивавшего сервер, то было бы совсем печально.
Куча SQL Inj, XSS, и прочие радости жизни (хотя я далеко не специалист, люди интересующиеся может обойдут и блоки со стороны апача какими-нибудь хитрыми кодированиями параметров).

Короче лить к себе на хост крайне не рекомендуется.

Reinar
()

логин - root; пароль - admin;

Сейчас же смени!

php

Говно.

CYB3R ★★★★★
()
Ответ на: комментарий от Reinar

И кстати, форма аплоада работает?

Загрузка файлов работает только по одному (это ограниечние PHP 5.2, наверное; на локалхосте норм).

moscwich
() автор топика
Ответ на: комментарий от moscwich

Расширений написано. А ты ответил про разрешения, потом опять про расширения, а хотел в оригинале-то, небось, про форматы вообще, да?

cdshines ★★★★★
()
Ответ на: комментарий от Deleted

в особенности с учетом того, что ты пишешь аккуратный, читабельный код

ORLY? Мне обратное всегда говорили.
А что думает, например, drBatty?

moscwich
() автор топика

Разрешение экрана от 800x600;
Без флеша, возможна полноценная работа без JS (его и вообще немного);
Последнии версии IE, FF, Chrome, Opera или с ограничениями IE8 (ну а больше браузеров нет).
Альбомы, фотографии разных расширений, комментарии к фотографиям
Юзеры

А я это уже всё сделал. На rails. Плюс ещё статистику по числу просмотров фотографий и альбомов. Даже на ЛОРе уже пиарил. Если кому интересно - сходите, гляньте: http://openalbum.org

Alve ★★★★★
()

Да, помню. Но для себя уже открыл MiniGal Nano, поправив под себя исходники.

Удачи с разработкой.

post-factum ★★★★★
()

Обнаружил пару багов, спасибо анонимусу за смешной альбомчик.

moscwich
() автор топика
Ответ на: комментарий от sin_a

А у тебя предусмотрена работа с существующей готовой файловой системой?

Не знаю, что это. Расскажи, что это означает - возможно сделаю.

Alve ★★★★★
()
Ответ на: комментарий от Alve

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

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Нет, такого не делал. По моим наблюдениям у народа фотки валяются в виде бардака, так что загрузка в альбомы как раз и должна была стать моментом приведения в порядок. А если есть готовая структура на ФС - хз, надо подумать.

Alve ★★★★★
()
Ответ на: комментарий от Alve

Да, это скорее экзотическое требование. Хотя похоже на закачку по ftp. А упорядочивать надо не альбомами. Дерева недостаточно, категорически. Более менее для упорядочивания подходят теги, потому что одно изображение может иметь несколько одновременно.

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

sin_a ★★★★★
()
Ответ на: комментарий от Deleted

сайты не пишут так уже лет 6 минимум.
Если переписать с использованием MVC и DAO - тогда уже можно будет говорить о хорошем коде, который можно поддерживать.

Я конечно сам не любитель квадратно-гнездового мышления паттернами, но там, где это уместно было бы неплохо их использовать - всё-таки это проверенные годами архитектурные решения. А хтмл вперемешку с пхп кодом, GET-переменные прямо в строке SQL-запроса без фильтрации, страшное форматирование - создают сложности в поддержке и доработке просто на ровном месте.
Но в первых проектах так и нужно писать - чтобы самому понять цену хороших архитектурных решений и на своей шкуре прочувствовать боль от поддержки плохого кода. Тем и отличается программист опытный и понимающий от просто начитавшегося книжек.
Только вот конечному пользователю лучше такие продукты не отдавать.
Пытался это пояснить автору приватно - но не внял (шаблонизация - много геморроя, а преимущества неочевидны, а SQL-запросы переписывать просто впадлу), видимо ещё не дозрел. Ну что ж, пожелаю ему удачи.

Reinar
()

логин - root; пароль - admin; только не удаляйте ничего, логин, пароль не меняйте

Вот прямо так доверять коллективному разуму ЛОРа? Заранее скажу - ссзб.

Kor03d ★★
()
Ответ на: комментарий от Reinar

Из сообщения усматривается, что у вас большой опыт создания сайтов.

В процессе познания web-технологий пришел к выводу, что создать домашнюю страницу проще всего на основе обычного HTML, без использования различных фреймворков и CMS-ок :)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.