Powered by slightly modified MediaWiki and TED Notepad text editor.

Dev:UseCases/Detail vlastnej fotky

Image:UseCases_-_Detail_vlastnej_fotky.png

Navigation: Dev:UseCases.

Vlastnikovi fotky se zobrazi fotka a detailni informace o ni - jeji atributy, tagy, notifikace, alba, do kterych je prirazena apod. Zde ma vlastnik moznost vetsinu informaci zmenit - upravit tagy a atributy fotky, odebrat fotku z alb nebo ji smazat. Vlastnik take muze spravovat komentare k fotce.

Contents

Detail fotky

Vlastnikovi fotky se v detailu fotky zobrazuji tytez informace jako uzivateli a ma tytez moznosti jako uzivatel, coz bylo popsano v kapitole Detail fotky. Navic se vlastnikovi zobrazi podrobnosti o samotne fotce (napr. jeji velikost) a ma dalsi moznosti, jak s fotkou pracovat.

Detail pro vlastnika

Pokud jsou v systemu povoleny fotky (atribut GlobalSettings.Photo.hide_all_photos), zobrazi se vlastnikovi verze fotky podle jeho nastaveni maximalni velikosti, podle nastaveni watermarku v systemu a pripadne podle nastaveni watermarku fotky, jak bylo popsano v kapitole Detail fotky. Ma take moznost zobrazit si originalni fotku (tj. v puvodnim rozliseni a bez watemarku).

Dale se vlastnikovi zobrazi detailni informace o fotce – seznam atributu fotky a jejich aktualni hodnoty. Zobrazuji se vsechny atributy z tridy Photo.Info - krome casu posledniho pristupu ke komentarum (atribut Photo.Info.last_comments_access), z tridy Image se zobrazuje rozliseni (atributy Image.width a Image.height) a velikost fotky (atribut Image.size).

Detail fotky se zobrazuje ve skinu, ktery ma vlastnik vybran (atribut Visitor.Settings.skin).

Dalsi moznosti

Vlastnik ma moznost nektere atributy fotky zmenit, jak bude popsano dale.

Pokud jsou v systemu povolena alba (atribut GlobalSettings.Album.hide_all_albums), muze si vlastnik zobrazit seznam alb, do kterych je fotka prirazena, coz bude popsano dale.

Vlastnik ma moznost nahrat misto existujici fotky fotku novou, jak bude popsano dale.

Pokud jsou v systemu povoleny komentare (atribut GlobalSettings.Photo.hide_comments), ma vlastnik moznost zobrazit si nepotvrzene komentare k fotce, coz bude popsano v kapitole Komentare fotky.

Vlastnik muze zmenit tagy fotky, coz bylo popsano v kapitole Prehlad fotiek uzivatela. Zmena tagu jedne fotky probiha stejne jako zmena tagu u vice fotek, v seznamu tagu se zobrazi vsechny tagy teto fotky.

Vlastnik ma moznost fotku smazat, coz bylo popsano v kapitole Prehlad fotiek uzivatela. Smazani jedne fotky probiha stejne jako smazani vice fotek.

Vlastnik ma moznost zobrazit si uzivatelskou verzi fotky, ktera byla popsana v kapitole Detail fotky.

Poznamky

Poznamka: Vlastnikovi fotky, ktery se na detail fotky dostal z prehledu svych fotek, se zobrazi tato editacni verze detailu fotky.

Poznamka: Pokud se vlastnik dostal na detail fotky napr. z nejakeho alba, pak se mu detail fotky zobrazi jako ostatnim uzivatelum, coz bylo popsano v kapitole Detail fotky.

Uprava atributu

Vlastnik muze u nekterych atributu z tridy Photo.Info zmenit jejich hodnotu.

Vlastnikovi se zobrazi editovatelny seznam atributu, atributy jsou predvyplneny svymi predchozimi hodnotami. Pri zmene hodnot atributu vlastnik zada nebo si vybere nove hodnoty. Zada povinne atributy - zda bude u teto fotky pouzit watermark (atribut Photo.Info.watermark_disabled), pripadne i nepovinne atributy - nazev fotky (atribut Photo.Info.name), jeji popis (atribut Photo.Info.description), misto, kde byla vyfocena (atribut Photo.Info.location), autora fotky (atribut Photo.Info.author), datum vyfoceni fotky (atribut Photo.Info.date) a EXIF info fotky (atribut Photo.Info.exif_info). Vlastnik take muze fotku oznacit/odznacit jako soukromou (atribut Photo.private).

Vlastnik ma moznost nechat vyplnit EXIF info a datum vyfoceni fotky (atributy Photo.Info.exif_info a Photo.Info.date) podle EXIF infa fotky, pokud je to mozne (tj. pokud ma fotka u sebe ulozene EXIF info). Take ma moznost nechat vyplnit do atributu autor fotky (atribut Photo.Info.author) sve jmeno (podle atributu User.Profile.display_name).

Pri uprave ma vlastnik moznost editaci zrusit. Pokud editaci zrusi, zobrazi se mu znovu detail fotky, ktery byl popsan vyse.

Kontrola

Po potvrzeni zmeny se hodnoty zkontroluji, zda jsou v povolenem rozsahu apod. Zkontroluje se, zda ma vlastnik vyplneny povinne atributy. Dale se podle nastaveni HTML-tagu (atribut GlobalSettings.allow_html_tags) zkontroluje popis fotky a nepovolene HTML-tagy se odstrani. V jinych atributech nejsou povoleny zadne HTML-tagy. Take se zkontroluje, zda popis fotky nepresahuje maximalni povolenou delku (atribut GlobalSettings.Photo.max_description_length).

Pokud je vse v poradku, hodnoty atributu se ulozi a zobrazi se detail fotky, ktery byl popsan vyse.

Pokud ne, je vlastnikovi vypsano varovne hlaseni (s rozmezim moznych hodnot apod.) a musi hodnotu daneho atributu opravit.

Atribut private

Pokud vlastnik oznaci fotku jako soukromou (atribut Photo.private), zmensi se ve vsech albech, ve kterych je fotka umistena a ve kterych je jeji stav nastaven na potvrzen (atribut PhotoInAlbum.state), pocet fotek o jedna.

Pokud vlastnik soukromou fotku odznaci jako soukromou (atribut Photo.private), zvetsi se ve vsech albech, ve kterych je fotka umistena a ve kterych je jeji stav nastaven na potvrzen (atribut PhotoInAlbum.state), pocet fotek o jedna.

Prehled alb fotky

Vlastnik si muze zobrazit vsechna alba, do kterych je fotka prirazena.

Pokud jsou v systemu povolena alba a fotky (atributy GlobalSettings.Album.hide_all_albums a GlobalSettings.Photo.hide_all_photos), zobrazi se vlastnikovi seznam alb, ve kterych je fotka umistena. V seznamu alb se zobrazi:

Dale se u kazdeho alba zobrazi stav fotky v nem (atribut PhotoInAlbum.state). Pokud je fotka v albu zakazana, zobrazi se navic duvod zakazani (atribut PhotoInAlbum.reason).


Vlastnik ma moznost fotku z vybraneho alba odebrat, coz bude popsano dale.

Odebrani fotky z alba

Vlastnik ma moznost fotku z vybraneho alba odebrat.

Pokud jsou v systemu povolena alba a fotky (atributy GlobalSettings.Album.hide_all_albums a GlobalSettings.Photo.hide_all_photos), muze vlastnik fotku z vybraneho alba odebrat. Pri odebirani fotky z alba se zkontroluje stav teto fotky v albu (atribut PhotoInAlbum.state). Pokud je zakazana, pak fotku nelze z alba odebrat.

Jinak je vlastnik fotky dotazan, zda chce opravdu fotku z alba odebrat. Pokud ano, je fotka z alba odebrana, coz bylo popsano v kapitole Fotky albumu. Pokud ne, je odebirani fotky zruseno.

Nova verze fotky

Vlastnik muze nahradit fotku, kterou uz ma v systemu ulozenou, novou fotkou, napriklad proto, ze nova fotka ma vyssi rozliseni, lepsi kvalitu apod. Nahrazeni zachovava informace puvodni fotky.

Pokud jsou v systemu povoleny fotky (atribut GlobalSettings.Photo.hide_all_photos), muze vlastnik nahradit starou fotku novou. Pri nahrazovani fotky se vlastnikovi zobrazuji systemova omezeni na velikost a rozliseni jedne fotky (atributy GlobalSettings.Photo.max_datasize a GlobalSettings.Photo.max_resolution). Take se mu zobrazuje, kolik ma jeste v systemu volneho mista, jehoz zjisteni bylo popsano v kapitole Uvodna stranka uzivatela, a velikost stare verze fotky (atribut Image.size). Pokud prekrocil maximalni povolene misto, muze nahrat pouze mensi verzi fotky.

Vlastnikovi se take zobrazi, kolik ma techto stejnych fotek, a muze prehrat novou verzi vsechny tyto fotky.

Kontrola fotky

Po uploadu se nova fotka zkontroluje. Kontrola nove fotky probiha jako pri pridavani uplne nove fotky, jak bylo popsano v kapitole Prehlad fotiek uzivatela. Kontrola jedne fotky probiha stejne jako kontrola vice fotek.

Pokud nova fotka neprojde kontrolou, tak v systemu zustane stara fotka a akce je ukoncena. Duvod je oznamen vlastnikovi.

Prepocitani prostoru

Dale se prepocita prostor, ktery uzivatelovy fotky zabiraji (atribut Storage.space_usage):

  • Pokud ma vlastnik starou fotku ulozenou pouze jedenkrat (atribut Photo.image se se stejnou hodnotu u jine fotky nevyskytuje), pak se jeji velikost (atribut Image.size) odecte od zabraneho prostoru (atribut Storage.space_usage). Pokud je ulozena vicekrat, tak se neodecita.
  • Dale se zkontroluje, jestli uz ma vlastnik novou fotku aspon jednou ulozenou. Pokud ano, pak se jeji velikost (atribut Image.size) nepricita k zabranemu prostoru (atribut Storage.space_usage). Pokud takovou fotku jeste nema ulozenou, tak se jeji velikost pricte.

Poznamka: Pokud se meni vsechny fotky teto verze, tak se odecte velikost stare fotky a pricte se velikost nove fotky. Nemusi se kontrolovat, zda ji ma vlastnik ulozenou vicekrat.

Pote se prostor, ktery uzivatelovy fotky zabiraji (atribut Storage.space_usage), porovna s uzivatelovym maximalnim povolenym prostorem, jehoz zjisteni je popsano v kapitole Uvodna stranka uzivatela.

Pokud by se pridanim fotky prekrocil vlastnikuv limit, neni fotka do systemu ulozena a je to oznameno vlastnikovi. V systemu zustane stara verze fotky.

Pokud je vse v poradku, puvodni fotka se nahradi novou fotkou, vsechny atributy, tagy, hodnoceni, komentare atd. se nezmeni. Pote se smazou vsechny vygenerovane verze puvodni fotky (trida PhotoPreview).

Nastaveni fotky

Uzivatel je dotazan na EXIF Info (atribut Photo.Info.exif_info), zda chce zachovat starou verzi nebo je prepsat podle nove fotky.

Tim je nahrazovani fotky skonceno.


Po nahrazeni fotky se v albech, do kterych je prirazena, zkontroluje, zda je v nich vyzadovano potvrzeni po zmene fotky (atribut Album.Rules.photos_need_reconfirmation). Pokud ano, zmeni se stav fotky v techto albech na cekajici na potvrzeni (atribut PhotoInAlbum.state). Pokud je ale fotka v takovem albu zakazana, tak se jeji stav nezmeni. V ostatnich albech zustane stav fotky stejny.

V albech, ve kterych byl stav fotky zmenen na cekajici na potvrzeni (atribut PhotoInAlbum.state), se zmensi pocet fotek o jedna.

Zpracovani notifikaci

Po ulozeni nove fotky se zkontroluje, zda jsou v systemu povolene notifikace (atribut GlobalSettings.Notification.hide_all_notifications). Pokud ano, zjisti se, zda maji nejaci uzivatele vytvorenou notifikaci k teto fotce typu nova verze fotky (atribut PhotoNotification.type). Temto uzivatelum se prida email do seznamu neposlanych emailu.

Vyplni se atributy emailu, podrobny popis je uveden ve tride Mail:

  • jako typ emailu (atribut Mail.type) se doplni notifikace o nove verzi fotky,
  • do subjectu (atribut Mail.subject) se doplni identifikace teto fotky.

Poznamka: Vlastnikovi fotky se notifikace o nove verzi fotky nikdy neposila.


Pokud je stav fotky v nekterych albech nastaven na potvrzen (atribut PhotoInAlbum.state), zkontroluje se, zda jsou v systemu povoleny notifikace (atribut GlobalSettings.Notification.hide_all_notifications). Pokud ano, zjisti se, jestli maji nejaci uzivatele vytvorenou notifikaci na takovato alba a to notifikaci typu nova fotka v albu (atribut AlbumNotification.type). Tem uzivatelum, kteri maji navic pravo prohlizet si tato alba, jehoz zjisteni je popsano v kapitole Prehlad albumov, se prida email do seznamu neposlanych emailu.

Vyplni se atributy emailu, podrobny popis je uveden ve tride Mail:

  • jako typ emailu (atribut Mail.type) se doplni notifikace o nove fotce v albu,
  • do subjectu (atribut Mail.subject) se doplni identifikace alba,
  • v textu emailu (atribut Mail.text) bude pocet 'novych' fotek (tedy jedna).

Poznamka: Vlastnikovi fotky se notifikace o nove fotce v albu neposila, i kdyz ji ma u toho alba nastavenou.

Mensi verze fotky

Pokud ma uzivatel prekroceny limit na velikost vsech svych fotek, muze stale nahrat do systemu nove verze fotek. Tyto nove fotky ale musi byt mensi nez puvodni fotky.

Nahrani nove verze fotky probiha, jak bylo popsano vyse. Nova fotka se zkontroluje, jak bylo popsano vyse, a navic se zkontroluje, zda je nova fotka mensi nez puvodni (atribut Image.size). Pokud ne, je nahravani zruseno a v systemu zustane stara verze fotky. Pokud je mensi, muze se nova fotka ulozit do systemu.

Dale se zkontroluje, zda ma vlastnik starou fotku aspon jeste jednou ulozenou. Pokud ano (atribut Photo.image se stejnou hodnotou je jeste u jine vlastnikovi fotky), je vlastnik dotazan, zda chce zmenit data u vsech techto fotek. Pokud nechce zmenit vsechny, je nahravani fotky zruseno. Pokud ano, zmeni se u vsech techto fotek atribut Photo.image, ktery bude odkazovat na novou verzi teto fotky.

Pote se prepocita prostor, ktery uzivatelovy fotky zabiraji, jak bylo popsano vyse, ale neporovnava se s maximalnim povolenym limitem, fotky pouze musi zabirat mene prostoru nez pred nahranim nove verze teto fotky.

Pote je nova fotka ulozena do systemu.

Dalsi zpracovani probiha stejne jako pri pridavani jakekoliv verze fotky.