

Gallery+ — полнофункциональная галерея с masonry-сеткой, бесконечной лентой, лайтбоксом, 6 уровнями приватности альбомов (включая пароль и 18+), категориями, тегами, лайками, EXIF/GPS, Leaflet-картами, кодами встраивания и 5 виджетами
Лайки с AJAX, альбомы с коллаборативной загрузкой, защита паролем (bcrypt), adult-контент с карма-гейтом, XMP-описание, WebP-пресет без обрезки вместо хранения оригинала, 3 режима просмотра (альбомы, бесконечная прокрутка, постранично), кастомный лайтбокс (свайп/лайки/комментарии/шеры), 5 виджетов (Random, Photos, Albums, Categories, Map), инструмент очистки в админке
Создавал для себя для замены chevereto. Пока это все еще черновой вариант, надо допиливать докручивать, надеюсь когда нить оно будет допилено, может что то добавить убавить и тд
Тут не буду выкладывать черновик ибо нет смысла, кину там где и прошлый мой ширпотреб Скачать







как минимум хлебные крошки, немного СЕО, и в альбоме Kuper крутится бесконечная прогрузка внизу.
Удачи.
Много лет жду идеальную подобную галерею :)) С отметками на карте, с разметкой классной, без перезагрузки страниц и прочего… Очень похоже на то что нужно, Допиливайте, куплю :))
Сайт бы еще сделать нормальный :))
В настройках, центр карты, неплохо было бы добавить чтобы карта открывалась по локации пользователя, Так же в настройках фото.
В целом, очень даже не плохо по функционалу.
Удачи в развитии!
Вечный спиннер на странице альбома исправлен
Панель настроек при загрузке сворачивается после сохранения альбома
Защищённые паролем альбомы: редирект гостей на логин, фото после разблокировки, бейдж замка в профиле
Хлебные крошки добавлены на все страницы галереи
Мобильная masonry-сетка 2 колонки без белых полос
Исправлена приватность «Выбранные пользователи» при создании альбома
v1.0.2 — исправления и улучшения
Виджет карты:
Убрана авто-подгонка масштаба и центра под маркеры: карта всегда открывается с «Масштабом по умолчанию» и заданным центром
Добавлена опция «Определять местоположение пользователя»: центр карты определяется по IP посетителя на сервере (без браузерного запроса)
Как это работает (widgets/map/widget.php):
Нужен либо allow_url_fopen=On (тогда работает file_get_contents с stream context), либо расширение curl — код пробует оба варианта.
json (встроенный, в PHP 8.x всегда есть). geoip/GeoIP2 не требуются и не используются.
Точность — это IP-геолокация по базам провайдера, не GPS:
Обычно определяет до города/населённого пункта; координаты — центр города, погрешность от ~1–2 км (город) до десятков км (мелкие населённые пункты, регионы).
Для мобильного интернета (3G/4G) хуже — может показывать город/регион оператора.
Приватные/локальные IP (127.x, 10.x, 192.168.x, 172.16–31.x) и корпоративные VPN/прокси — не определяются → fallback на заданный центр.
Для виджета «где сейчас посетитель» этого достаточно; для точного позиционирования (метры) нужна была бы браузерная геолокация, но она требует запроса разрешения у пользователя
Ограничения по лимитам: ip-api.com бесплатно даёт ~45 запросов/мин с одного IP сервера — поэтому и стоит суточный кеш по IP посетителя.
Профиль и альбомы:
Вкладка «Альбомы» в профиле пользователя приведена к виду страницы галереи: masonry-сетка, автор в карточке
На закрытых карточках и на странице альбома выводится статус доступа: по паролю, для друзей, для выбранных пользователей, только я, 18+
Заголовок страницы режима «Альбомы» теперь «Альбомы»
Страница фото:
Коды для вставки и прямые ссылки теперь содержат полный адрес сайта
скачать
Демо
Упс, виджет выполнялся ~0.93 +++ сек при каждом рендере, при геолокации. Исправлено
Простите, но что то ума не двину, как это красоту установить, чтобы работало как на демо.
Ставил на чистую систему, виджет карты вообще не отображается. При загрузке фотографии, как её на карту закинуть (привязать к адресу), не увидел ни каких путей для этого. Хоть малую инструкцию, пожалуйста.)
Ставим galleryplus.zip отсюда версию 1.0.3 на данный момент, переходим в виджеты, галерея+ -> нажимаем все виджеты
Перетягиваем виджет Photo map вправо
Включаем если хотца геолакацию, сразу скажу не было такой идеи, и не хотелось запрашивать у пользователя разрешения на геолокацию, на мобильных врет, если нужно отключаем отображение заголовка
по аналогии виджет категорий
если фото имеет при загрузке EXIF с геолокацией, местоположение будет указано автоматически, ЕСТЬ нюанс если фото загружают с мобильного у человека в настройках телефона может стоять запрет на передачу этих данных, соответственно файл будет без геолокации, жмакаем редактировать
указываем координаты или числом в полях или просто берем маркер и тянем куда нужно, в настройках компонента можно указать центр карты и в виджите так же
сохраняем
Благодарю вас. Получилось, работает.
Не за что, Вы там немного если так выразится порезвились, удаляли редактировали, благодаря чему выяснилось еще пару косяков, с пустыми названиями альбомов, вообщем там же на github пакет для обновления, просто ставите не удаляя старый galleryplus_update_1.0.4.zip
еще кстати описание показываем в лайтбоксе
Молодец, хорошо сделал.
Добавлено
Избранное для фото
Похожие фото по тегам
То есть:
Без тегов → похожие = другие фото этого же альбома (по дате публикации).
С тегами → сначала фото с наиболее общими тегами, плюс фото того же альбома.
Важный нюанс: если теги включены, но у конкретного фото тегов нет, работают только фото из того же альбома. А если у фото нет ни тегов, ни альбома (или в альбоме только одно фото) — блок «Похожие фото» будет пустым/не отобразится (в view.tpl.php есть проверка if (!empty($similar_photos))).
Подскажите, а к билингу компонент можно как то прикрутить? Чтобы за публикацию фотографий денежку брать.
Ещё выявил такую проблему, если в настройках системы включить «Сжимать HTML », то на странице Загрузки (/galleryplus/upload) не открываются папки устройства, чтобы загрузить фото.
Вечером посмотрю, в том числе биллинг, только скажите как это должно работать, за просмотр или как я пока не очень понял, для альбома или фото
Нет, просмотр бесплатно. Оплата берётся за публикацию изображений. Не альбома, а фотографии. Спасибо.
На GitHub выложил, сжатие теперь не блокирует загрузку, прикрутил к билингу, есть оплата за загрузку, за просмотр альбома но пока как фикс прайс цену только админ назначает, плата за скачивание, времени не особо, дача ждёт так что пока так выложил поэтому лучше сначала на демо проверить
Спасибо что слышите! Всё работает, всё грузится. И по билингу всё отлично, даже больше чем мне нужно было.
Куда благодарить?)
Напишите, что можно улучшить, где не удобно, ну вы поняли, это и будет благодарность, я хочу хорошую галерею, кстати gif не грузили как то я этот момент упустил, ещё для сетки наверное нужен пресет где то на 960 иначе на большом экране в лайтбоксе немного мутновато как мне кажется
Гифку загрузил, всё отлично, работает. Может ещё MP4, с превью, в том числе и на карте?)))
А вообще, больше возможностей по расширениям файлов, это хорошо конечно… Но мне кажется, надо бы дать администратору возможность разрешать/запрещать, какие расширения можно загружать, а какие нет. Просто мне, например, Гифки точно не нужны, я бы даже сказал противопоказаны.)
Ещё, из пожеланий...
На главной странице галереи выведены виджеты «Категории» и «Карта». Изначально, в виджете категорий стоит значение Все категории, а на самой странице выводятся все фотографии, со всех категорий. Но если выбрать одну из категорий, страница перезагружается, и выводит уже альбомы (не фотографии) выбранной категории. А можно, при выборе категории, выводить фотографии а не альбомы выбранной категории? Или может дать выбор админу, что нужно показывать, если пользователь перешёл в определённую категорию.
Дальше, виджет «Карта...
Возможно ли, при переходе в определенную категорию, на карте отображать превью фотографий, относящихся только к выбранной категории?
Из наблюдений...
Если виджет «Карты» размещён на главной странице Галерии, то карта позиционируется на последней, загруженной мной фотографии, причём не важно в какой части мира я её разместил.
А если разместить этот виджет на любой другой странице сайта, например на главной, то виджет позиционируется на моём местоположении, причём Очень точно.
Обновлено до 1.2.2
Виджет-карта: в попапе маркера под миниатюрой выводится описание фото (по умолчанию до 300 символов) и кнопка «Подробнее» — переход на страницу фото.
Виджет-карта, новые настройки: «Показывать описание в попапе» и «Лимит символов описания» (0 — без ограничения).
Скачать тут github.com
Подскажите пожалуйста как правильно вставить виджет карты? На демо он на главной странице галереи, но если выбрать конкретное фото — то и под фото тоже… Никак не могу понять как это правильно выводить. Помогите пожалуйста.
Не совсем понял вопроса — под фото тоже..., на главной это виджет настраивается через виджеты /admin/widgets, выше есть картинки как его вставить, а на странице фото карта отображается по умолчанию если фото с геолокацией или через редактирование фото ставим положение сами, если геолокация для фото не установлена то и в виджете ... настраивается непосредственно в админке компонента /admin/controllers/edit/galleryplus/options
Немного понял… А подскажите вот у меня если на верхней карте кликнуть подробнее то не всплывает фото как на демо… Фото просто отображается где то внизу. Это где то нужно настроить? В админке стоит все по умолчанию… или у меня лайтбокс не работает как нужно?
После нажатия в верхней карте на маленькое изображение в кружке оно чуть увеличивается и снизу описание если есть и написано подробнее, после нажатия подробнее вы переходите на страницу изображения на которой можете его редактировать, внизу карта для конкретно одного этого изображения
У вас же как я вижу верхняя карта отображается на всех страницах галереи а может и сайта, хотя по уму должна быть только на главной галереи
Да, спасибо большое, действительно был лишний виджет добавлен на страницу фото. А насчет отображения — наверное мне показалось что у Вас по другому так как шаблон у Вас или другой или переработанный modern. Просто создается впечатление что изображение как то всплывает, а на самом деле просто переход к странице фото. Вроде более менее разобрался:) Спасибо!
Gallery+ 1.2.3
Лайтбокс: длинное описание фото сокращается (по умолчанию до 300 символов) с кнопкой «Показать полностью», раскрывающей полное описание; кнопка не перекрывает заголовок.
Лайтбокс, новые настройки (вкладка «Вид»): «Сокращать описание в лайтбоксе» и «Лимит символов описания» (0 — не сокращать).
Лайтбокс: автоопределение светлого/тёмного фото — на светлых снимках заголовок, описание и кнопки автоматически становятся тёмными (для читаемости).
Как это работает:
при открытии лайтбокса фото уменьшается до миниатюры 48×48 с сохранением пропорций, и яркость считается только по «зоне текста» — нижним 40% кадра, где лежат заголовок и описание (верхняя часть фото на результат не влияет). Если средняя яркость этой зоны (Rec.709-люминантность) больше 150 из 255 — фото считается светлым, и тема .galleryplus-viewer--light переключает заголовок, описание и кнопки на тёмные. Иначе остаётся светлый текст на тёмной теме. Если браузер не даёт прочитать пиксели изображения (CORS/tainted canvas) — молча используется тёмный вариант по умолчанию.
Лайтбокс: заголовок и описание ограничиваются шириной отрисованной картинки и больше не вылезают за края фото на чёрный фон.
Лайтбокс: значки заменены на встроенные иконки темы — лайк, избранное, комментарии, поделиться, переход к странице фото.
Мобильная версия: сетка фото и альбомов растянута до краёв экрана — плитки прижаты к краям; на узких экранах панель инструментов и вкладки переносятся корректно, страница не выглядит шире экрана.
Каждая фотография, добавленная в галерею, имеет несколько текстовых меток (название альбома, название фотографии, описание). Неплохо бы организовать поиск по этим меткам. А то ведь будет тыща альбомов, и мильён фотографий.)
А на Демо сайте, системный поиск не ищет по Галерее.
Gallery+ 1.2.4
Системный поиск: фото галереи участвуют в общем поиске ICMS и находятся по названию файла и описанию; источник «Галерея» нужно включить в настройках поиска (Админ — Компоненты — Поиск — Искать по контенту).
Поиск по галерее показывает только опубликованные фото из публичных бесплатных альбомов; результаты — плиткой с миниатюрой и переходом на страницу фото.
На странице фото добавлен заголовок: выводится в сайдбаре над навигацией
Заголовок фото при загрузке больше не урезается до 15 символов — сохраняется полное имя файла (до 120 символов).
Лайтбокс: при переходе к следующему фото лента автоматически догружается — листание больше не останавливается в конце страницы (индекс, альбом, избранное).
Закрытие лайтбокса: страница плавно прокручивается к карточке фото, на которой вы закрыли просмотр.
Попап карты: миниатюра фото выровнена по ширине описания (160px, без обрезки и белых полей).
Загрузка фото: подсказка «Вы можете изменить название фото» над полем названия; поле названия — в рамке, как у тэгов.
Gallery+ 1.2.4
версия 1.5.0, я думаю тут не буду больше кидать ссылки, тк обновление проверяется в плагине да и интереса тут не вижу
Ну не знаю, зря вы так так, насчёт ссылок. Думаю компонент интересен многим. Но в нём уже Столько всего добавлено, что идеи заканчиваются… Пока.)) Да, плагин проверяет обновления, это классно. Вот бы все дополнения в системе, сообщали о своём перерождении.) Вот я например, увидел сегодня новое сообщение в теме, и кинулся обновляться, но потом понял, что уже обновился до этой версии давно. И думаю что те кому интересен компонент, сделали то же самое.
Но как быть с теми, кто ещё не знает об этой прекрасной галерее. Думаю что лишний раз упомянуть о ней не помешает. А там глядишь и новые идеи по улучшению придут, от свежих голов.)
Возможно ли сделать более расширенную систему очистки от старых публикаций? Например по дате, по пользователям, по группам, поштучно наконец. Или даже автоматизировать этот процесс с помощью Cron задач.