[ Moja galeria ][ Screenshots ][ Download ][ Księga ]

O projekcie

Następna galeria? Ooo matkooo !!!! - tak pewnie, w pierwszej chwili, myśli większość z was. Jest wiele tego typu projektów, te najbardziej popularne są moim zdaniem za bardzo obfite w niewykorzystywane przez użytkowników funkcjonalności i dlatego napisałem własną galerie z podstawowym zbiorem funkcji, które pozwolą w prosty i szybki sposób zarządzać obszerną lub mniej obszerną kolekcją fotek.

uho's gallery, ma na celu wypełnić lukę pomiędzy skomplikowanymi i ubogimi projektami. Prostota, szybkość i podstawowa funkcjonalność jest głównym założeniem mojego projektu.

Podczas projektowania galerii, przyjąłem że jej główna strona będzie podzielona na dwie kolumny, domyślnie w lewej kolumnie znajdują się katalogi/albumy, które w swojej nazwie zawierają datę zapisaną w formie rrrrMMdd i wg niej są sortowane chronologicznie. Katalogi takie mogą zawierać zbiory zdjęć wykonanych danego dnia, przykładowo: podczas wycieczki, relacje z jakiegoś wydarzenia, reportaż itp.
Druga kolumna, zawiera katalogi/albumy bez daty w nazwie, traktowane jako kategorie tematyczne zbiorów zdjęć. Segregowanie tych albumów następuję według daty modyfikacji danego katalogu, czyli gdy dodamy jakieś zdjęcie do takiego albumu, wtedy będzie ono na pierwszym miejscu w kolumnie.

Dodatkową różnicą pomiędzy typami albumów jest, sposób segregowania w nich zdjęć. Otóż w albumach z datą w nazwie, zdjęcia są segregowane wg nazwy plików (wykorzystując nazwy plików zapisanych przez aparat). W albumach bez daty w nazwie, zdjęcia segregowane są wg daty modyfikacji pliku miniatury, czyli na początku albumu będą znajdować się ostatnio wygenerowane miniatury zdjęć.

Zastosowane rozwiązanie jest dość nietypowe, ale bardzo elastyczne i ergonomiczne dla osób które robiąc masę zdjęć cyfrakami, chcą je szybko umieścić w galerii, opisać i zostawić do oceny odwiedzającym.

Jeśli chodzi o kod galerii, starałem się przede wszystkim zwracać uwagę na bezpieczne i optymalne rozwiązania. Wszystkie zmienne przekazywane przez użytkownika są sprawdzane pod różnymi względami (długość, składnia, istnienie). Za pomocą zmiennych, z zewnątrz, nie przekazywane są takie dane jak: ścieżki plików, nazwy plików itp., z wyjątkiem nazwy katalogów/albumów, które są sprawdzane z odpowiednikami w tymczasowej tablicy. System komentarzy i księga główna, także zawiera ograniczenia które nie pozwolą na wykorzystanie w niewłaściwy sposób.


Możliwości

  • cała galeria opiera się na danych zapisanych w plikach;
  • podział zbiorów zdjęć na kategorie i zdjęcia uporządkowane chronologicznie;
  • dodawanie opisu do albumów i zdjęć, co pozwala na przeistoczenie galerii w swoisty pamiętnik lub fotoblog;
  • system komentarzy, dla zdjęć i albumów;
  • księga gości;
  • panel administracyjny za pomocą którego szybko generuję się miniatury zdjęć, zarządza opisami, komentarzami, księgą gości, a także tworzy tekst powitalny dla galerii;
  • czytanie podstawowych informacji o zdjęciu z rozszerzenia EXIF;
  • zmiana wyglądu galerii za pomocą arkuszy styli i przejrzystego pliku konfiguracyjnego;
  • komunikaty błędów;

Ograniczenia

  • obsługa tylko plików w formacie jpeg;
  • dodawanie plików do galerii odbywa się za pośrednictwem klienta ftp lub scp;
  • galerie najlepiej oglądać w rozdzielczości > 1024x768;

Wymagania

  • konto ftp lub shell z obsługą scp;
  • serwer www Apache(Unix/Linux) z obsługą PHP => 4.3 i modułami: gd, exif (opcjonalnie), pcre, session;
  • opcje php: safe_mode = off; error_reporting = E_ALL & ~E_NOTICE lub display_errors = off

Instalacja

Cała operacja ogranicza się do rozpakowania archiwum do wybranego katalogu i dostosowania do własnych potrzeb ustawień w pliku config.php, który zawiera następujące opcje:

// autoryzacja
$_cfg['password'] = "haselko";

// opcjonalnie, pelna sciezka url do panelu admina, z obsluga SSL, np.: https://domena_galerii/admin_login.php
$_cfg['url_https'] = "";

// nazwa stylu CSS; motyw czarny "black", bialy "white"
$_cfg['style'] = "black";

// losowanie miniatur dla albumow w widoku strony glownej
$_cfg['shuffle'] = FALSE;

// ilosc albumow na jednej stronie dla kolumny z albumami posortowanymi chronologicznie
$_cfg['albums_per_page'] = 5;

// ilosc zdjec na stronie w podgladzie albumu
$_cfg['pictures_per_page'] = 9;

// wyostrzanie miniatur, znacznie wydluza czas generowania miniatur
$_cfg['unsharp_mask'] = FALSE;

// zamiana kolumn z lewej na prawa
$_cfg['swap_columns'] = FALSE;

// aktywacja obu kolumn
$_cfg['column_sorted'] = TRUE;
$_cfg['column_category'] = TRUE;

// tekst powitania
$_cfg['welcome_text'] = TRUE;

// techniczne informacje o zdjeciu
$_cfg['exif_info'] = TRUE;

// komentarze
$_cfg['comments'] = TRUE;

// ksiega gosci 
$_cfg['guestbook'] = TRUE;

Użytkowanie

W katalogu albums, tworzymy podkatalogi do których wgrywamy zdjęcia, w ten sposób powstają albumy, pamiętając o tym że nazewnictwo utworzonych katalogów decyduje o przypisaniu ich do odpowiedniej kolumny na stronie głównej galerii. Wytłumaczenie metodologii nazewnictwa katalogów z albumami zdjęć znajduje się w dziale “O projekcie”.

Następnie logujemy się do panelu administracyjnego, by wygenerować miniatury dla nowo dodanych albumów. Albumy z wygenerowanymi miniaturami pojawią się w sekcji “Albumy przetworzone”. Teraz można nadać opis dla wybranego albumu, usunąć go lub dogenerować miniatury nowododanych zdjęć do istniejącego albumu.

Będąc zalogowanym do panelu, możemy przejść do strony głównej galerii i stamtąd edytować opis albumu. Z widoku zdjęcia lub albumu, zalogowany użytkownik może usuwać niepoprawne komentarze, dodawać opis zdjęcia, edytować go i usuwać poszczególne miniatury z albumu. Będąc zalogowanym można także usuwać wpisy w księdze gości. Uwaga !!! usuwanie komentarzy i wpisów księgi, odbywa się bez potwierdzenia usunięcia.


Changelog (lista zmian)

2006.09.18 - v1.1
- dodano: zmiana nazwy pliku gbook.php na g_book.php;
- dodano: wpisanie kodu przed wysłaniem wpisu w księdze gości;
- dodano: do każdego wygenerowanego katalogu w temp/ będzie dodawany plik index.php, uniemożliwiający podlądu listy plików w katalogu;
- dodano: funkcja Unsharp_Mask która zwiększa ostrość generowanych miniatur;
- poprawiono: błąd występujący w module statystyk, podczas pustej galerii.

2006.01.06 - v1.0
- wersja pierwotna.


TODO (do zrobienia)

  • jeśli znajdą się zainteresowani do rozwoju, wydam kod na licencji GNU GPL;
  • przetłumaczenie galerii na inne języki;
  • ogólne sprawdzenie i udoskonalenie kodu;

Kontakt

e-mail: uho(tu małpa)xhost.one.pl
gg: 2021463


Copyright © 2005,2006 Tomasz Buziak [uho]