Powered by slightly modified MediaWiki and TED Notepad text editor.

Dev:UseCases/Diskusia albumu

Image:UseCases_-_Diskusia_albumu.png

Navigation: Dev:UseCases.

Navstevnik muze mit moznost precist si diskuzi alba, pripadne i pridat svuj prispevek.

Uzivatel muze mit tytez moznosti jako navstevnik. Navic muze mit moznost spravovat diskuzi alba - muze mit moznost potvrzovat, mazat nebo menit prispevky v diskuzi.

Vlastnik alba ma vzdy vsechny moznosti prace s diskuzi alba.

Contents

Diskuze

V diskuzi alba mohou navstevnici vyjadrit svuj nazor na vybrane album. Diskuze zaroven slouzi jako guestbook, prispevky tedy mohou byt prazdne.

Diskuze pro navstevniky

Pokud jsou v systemu povolena alba (atribut GlobalSettings.Album.hide_all_albums) a pokud maji navstevnici pravo prohlizet si album (atribut Album.Rules.free_visit), zjisti se, zda smi navstevnik cist diskuzi alba. Pokud maji navstevnici v systemu pravo prohlizet si diskuze (atribut GlobalSettings.Album.hide_discussion) a pokud maji navstevnici v tomto albu pravo prohlizet si diskuze (atribut Album.Rules.public_discussion), zobrazi se navstevnikovi diskuze k albu a to podle navstevnikova nastaveneho stylu (atribut Visitor.Settings.discussion_display_type).

V diskuzi se navstevnikovi zobrazuji pouze prispevky, jejichz stav je nastaven na potvrzen nebo smazan (atribut Album.Discussion.Item.state). U prispevku, jejichz stav je nastaven na smazan, se nezobrazuje jejich text (atribut Album.Discussion.Item.text), ale pouze text ve smyslu, ze dany prispevek byl smazan.

U kazdeho prispevku se zobrazi jeho autor (atribut Album.Discussion.Item.name), cas pridani prispevku (atribut Album.Discussion.Item.date) a jako subject zacatek textu prispevku (atribut Album.Discussion.Item.text).

Take se zobrazuje celkovy pocet prispevku v diskuzi alba.


Vse se zobrazuje ve skinu alba (atribut Album.skin).

Styly zobrazeni

Navstevnik si muze styl zobrazovani prispevku zmenit (atribut Visitor.Settings.discussion_display_type) a to primo u diskuze. Muze si vybrat mezi dvema styly: zobrazovani prispevku podle data pridani nebo zobrazovani podle toho, jak ostatni odpovidali na uz existujuci prispevky (strom prispevku). Navic si navstevnik bude moci vybrat setrideni prispevku a to bud sestupne (tj. nejnovejsi prispevky na zacatku) nebo vzestupne (tj. nejstarsi na zacatku). U stromu prispevku sestupne setrideni znamena, ze na zacatku se zobrazi ty stromy, kam byl pridan prispevek naposled. Pri vzestupnem setrideni se seradi podle korenu.

Dalsi moznosti

Pokud maji navstevnici v systemu pravo pridavat prispevky do diskuze (atribut GlobalSettings.Album.hide_discussion) a pokud maji v tomto albu navstevnici povoleno pridavat prispevky do diskuze (atribut Album.Rules.public_discussion), muze navstevnik pridat svuj prispevek nebo reagovat na jiz existujici, jak bude popsano dale.

Diskuze pro uzivatele

Pokud jsou v systemu povolena alba (atribut GlobalSettings.Album) a pokud ma uzivatel pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov, a pokud jsou v systemu povolene diskuze u alb (atribut GlobalSettings.Album.hide_discussion), zkontroluje se, jestli si smi uzivatel prohlizet diskuzi u tohoto alba:

Diskuze se uzivateli zobrazi stejne jako navstevnikovi, navic se uzivateli muze zobrazovat informace, zda ma nebo nema vytvorenou notifikace o novych prispevcich v diskuzi alba, a muze mit moznost si notifikaci vytvorit, pripadne zrusit.

Pokud je v diskuze prispevek od uzivatelova nepritele, bude misto textu prispevku zobrazovan pouze text ve smyslu, ze prispevek je od ignorovaneho uzivatele.

Dalsi moznosti uzivatele

Pokud jsou v systemu povolene diskuze u alb (atribut GlobalSettings.Album.hide_discussion), zkontroluje se, jestli smi uzivatel pridat svuj prispevek do diskuze alba:

Pak muze uzivatel pridat svuj prispevek nebo reagovat na jiz existujici, jak bude popsano dale.


Pokud jsou v systemu povoleny notifikace (atribut GlobalSettings.Notification.hide_all_notifications), muze si uzivatel vytvorit nebo zrusit notifikaci o novych prispevcich v diskuzi alba (podle atributu AlbumNotification.type), coz bylo popsano v kapitole Detail albumu.

Pokud jsou v systemu povoleny notifikace (atribut GlobalSettings.Notification.hide_all_notifications) a pokud je uzivatel ve skupine, ktera ma v albu pravo potvrzovat prispevky (atribut GroupInAlbum.may_confirm_discussion), muze si uzivatel vytvorit nebo zrusit notifikaci o novych prispevcich v diskuzi cekajicich na potvrzeni (podle atributu AlbumNotification.type), coz bylo popsano v kapitole Detail albumu.

Poznamka: Pri vytvoreni nebo zruseni techto notifikaci se uzivateli nezobrazi seznam vsech moznych notifikaci k tomuto albu. Pouze se rovnou vytvori/zrusi vybrana notifikace.


Pokud je uzivatel ve skupine, ktera smi v tomto albu potvrzovat prispevky (atribut GroupInAlbum.may_confirm_discussion), muze si zobrazit prehled prispevku cekajicich na potvrzeni (atribut Album.Discussion.Item.state) a ma moznost takove prispevky potvrdit, coz bude popsano dale.

Pokud je uzivatel ve skupine, ktera smi v tomto albu mazat prispevky (atribut GroupInAlbum.may_delete_discussion), muze vybrany prispevek smazat, coz bude popsano dale.

Cas pristupu

Pokud ma uzivatel toto album zarazene mezi sva oblibena alba, tak se mu pri prohlizeni diskuze nastavi cas posledniho pristupu k diskuzi tohoto alba (atribut FavouriteAlbum.last_discussion_access) na aktualni hodnotu.

Poznamka: Vlastni alba patri vzdy mezi oblibena, vlastnikovi alba se tedy take aktualizuje cas posledniho pristupu k diskuzi.

Pokud jsou v systemu povoleny notifikace (atribut GlobalSettings.Notification.hide_all_notifications) a pokud ma uzivatel vytvorenou notifikaci o novych prispevcich v diskuzi tohoto alba (atribut AlbumNotification.type), tak se mu pri prohlizeni diskuze nastavi cas posledniho pristupu k diskuzi (atribut AlbumNotification.last_access_discussion) na aktualni hodnotu.

Zobrazeni textu prispevku

Pokud ma navstevnik vybran jednoduchy styl zobrazeni diskuze (atribut Visitor.Settings.discussion_display_type), zobrazi se mu vzdy texty vsech priskevku v diskuzi. Pokud bude prispevku vice, budou se strankovat. Na jedne strance zobrazi vzdy maximalne deset prispevku. Nastevnikovi bude zobrazena ta stranka, na ktere je navstevnikem vybrany prispevek, a bude posunuta na ten prispevek.

Pokud ma navstevnik vybran styl zobrazovani prispevku v diskuzi ve stromu (atribut Visitor.Settings.discussion_display_type), muze si navstevnik nechat zobrazit texty vsech prispevku najednou nebo pouze texty prispevku jednoho stromu. Pokud bude prispevku vice, budou se strankovat. Na jedne strance se zobrazi aspon deset prispevku (pokud neni posledni). Pote se stranka zalomi, hned jak skonci strom prispevku. Pokud strom neskonci driv, nez na strance bude dvacet prispevku, tak bude strom pokracovat na dalsi strance.

Navstevnikovi se u kazdeho prispevku zobrazi jeho autor (atribut Album.Discussion.Item.name), autoruv email (atribut Album.Discussion.Item.mail) - podle nastaveni zobrazovani emailu v systemu (atribut GlobalSettings.mangle_mails), cas pridani prispevku (atribut Album.Discussion.Item.date), hostname, ze ktereho byl prispevek pridan (atribut Album.Discussion.Item.host), a text prispevku (atribut Album.Discussion.Item.text). Pokud prispevek pridaval uzivatel, muze se take zobrazit odkaz na jeho profil (podle atributu Album.Discussion.Item.user), ktery byl popsan v kapitole Prehlad uzivatelov.

Dalsi moznosti

Navstevnik/uzivatel ma pri zobrazovani textu prispevku tytez moznosti jako pri zobrazovani prehledu diskuze.

Pokud je uzivatel ve skupine, ktera smi v tomto albu menit prispevky - tj. ma pravo psat do diskuze (atribut GroupInAlbum.may_write_discussion) a mazat prispevky z diskuze (atribut GroupInAlbum.may_delete_discussion), muze vybrany prispevek zmenit, coz bude popsano dale.

Pokud je uzivatel ve skupine, ktera smi v tomto albu mazat prispevky (atribut GroupInAlbum.may_delete_discussion), muze vybrany prispevek smazat, coz bude popsano dale.


Uzivateli se pri zobrazovani textu prispevku aktualizuje cas posledniho pristupu do diskuze stejne jako pri zobrazovani prehledu diskuze.

Pridani prispevku

Navstevnik muze mit moznost pridat svuj prispevek do diskuze alba.

Pokud jsou v systemu povolena alba (atribut GlobalSettings.Album) a pokud maji navstevnici pravo prohlizet si album (atribut Album.Rules.free_visit) a pokud maji navstevnici v systemu pravo pridavat prispevky do diskuze (atribut GlobalSettings.Album.hide_discussion) a pokud maji navstevnici v tomto albu povoleno pridavat prispevky do diskuze (atribut Album.Rules.public_discussion), muze navstevnik pridat svuj prispevek do diskuze a to jako 'novy' prispevek nebo jako odpoved na jiz existujici prispevek. Pokud odpovida na nejaky prispevek, zobrazi se mu cely tento prispevek, jak bylo popsano vyse.

Vyplneni prispevku

Navstevnik vyplni povinne polozky prispevku - sve jmeno (atribut Album.Discussion.Item.name), pripadne i nepovinne polozky prispevku – text prispevku (atribut Album.Discussion.Item.text) a svuj email (atribut Album.Discussion.Item.mail), pricemz polozky jmeno a email jsou predvyplneny hodnotami, ktere navstevnik zadal napr. pri predchozim pridavani prispevku pri teto navsteve systemu (podle atributu Visitor.Settings.signature_name a Visitor.Settings. signature_email).

Poznamka: Uzivatel si muze predvyplnene hodnoty zmenit zpet na sve jmeno (atribut User.Profile.display_name) a kontaktni email (atribut User.Profile.email_contact).


Pokud jsou vyzadovany captcha obrazky (captcha images - atribut GlobalSettings.captcha_length), tak navstevnik opise captcha obrazek. Navstevnik si muze nechat vygenerovat novy obrazek, napr. pokud se mu zda necitelny.

Poznamka: Po uzivateli nemusi byt vyzadovano opsani captcha obrazku (podle nastaveni atributu User.AdminSettings.skip_captcha), v tom pripade se mu captcha obrazek nezobrazi a to bez ohledu na nastaveni atributu GlobalSettings.captcha_length.


Uzivateli se take zobrazuje, zda je nastaveno pridavani odkazu na jeho profil k prispevku (atribut User.Settings.signature_add_id). Uzivatel zde muze toto nastaveni zmenit.


Navstevnik ma moznost pridavani prispevku zrusit. Pokud pridavani zrusi, zobrazi se mu prehled prispevku v diskuzi, jak bylo popsano vyse.

Kontrola

Polozky se zkontroluji, zda jsou vyplneny povinne a zda text prispevku neprekracuje maximalni povolenou delku (atribut GlobalSettings.Album.max_discussion_item_length). Take zkontroluje se, zda je spravne opsan obrazek (captcha image), pokud je pouzit.

Pokud nejsou nejake polozky spravne vyplneny, je na to navstevnik upozornen a musi dane polozky opravit. Pokud je spatne opsany obrazek (captcha image), tak se navstevnikovi zobrazi novy obrazek s upozornenim, ze predchozi opsal spatne.

Pokud je vse spravne, vyplni se atributy prispevku podle polozek a doplni se automaticky vyplnene atributy prispevku:

Take se podle nastaveni atributu User.Settings.signature_add_id ulozi odkaz na uzivatele, ktery prispevek pridal (do atributu Album.Discussion.Item.user).

Prispevek je pridan do diskuze tohoto alba.

Nastaveni prispevku

Dale se zjisti, zda je v albu vyzadovano potvrzovani pripevku do diskuze (atribut Album.Rules.public_discussion). Pokud ano, je stav prispevku nastaven na cekajici na potvrzeni (atribut Album.Discussion.Item.state). Jinak je stav prispevku nastaven na potvrzen.

Pokud je uzivatel ve skupine, ktera smi v tomto albu potvrzovat prispevky (atribut GroupInAlbum.may_confirm_discussion), muze uzivatel prispevek rovnou potvrdit. Stav prispevku je pote nastaven na potvrzen (atribut Album.Discussion.Item.state).

Pokud je stav noveho prispevku nastaven na potvrzen (atribut Album.Discussion.Item.state), zvetsi se pocet prispevku v diskuzi alba o jedna.

Pokud je stav noveho prispevku nastaven na potvrzen (atribut Album.Discussion.Item.state), nastavi se autor a cas posledniho prispevku v diskuzi.

Dalsi moznosti

Navstevnikovi se pro tuto navstevu systemu zapamatovatuje jmeno a email (do atributu Visitor.Settings.signature_name a Visitor.Settings.signature_email), ktere zadal pri vyplnovani prispevku, a pri pridavani dalsiho prispevku apod. se mu automaticky predvyplni.

Zpracovani notifikaci

Pokud jsou v systemu povolene notifikace (atribut GlobalSettings.Notification.hide_all_notifications) a pokud je stav noveho prispevku nastaven na potvrzen (atribut Album.Discussion.Item.state), zjisti se, jestli maji nejaci uzivatele vytvorenou notifikaci k tomuto albu typu notifikace o novych prispevcich (atribut AlbumNotification.type). Tem uzivatelum, kteri maji pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov a kteri maji pravo cist diskuzi tohoto alba, jehoz zjisteni bylo popsano vyse, se prida email do seznamu neposlanych emailu.

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

  • jako typ emailu (atribut Mail.type) bude uvedeno notifikace o novem prispevku,
  • do subjectu (atribut Mail.subject) se doplni identifikace noveho prispevku,
  • v textu emailu (atribut Mail.text) bude uveden text prispevku (atribut Album.Discussion.Item.text).

Poznamka: Notifikace o novem prispevku se neposila autorovy prispevku, i kdyz ji ma nastavenou.

Pridani prispevku uzivatelem

Pokud jsou v systemu povolena alba (atribut GlobalSettings.Album) a pokud ma uzivatel pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov, a pokud jsou v systemu povolene diskuze u alb (atribut GlobalSettings.Album.hide_discussion) a pokud ma uzivatel pravo cist diskuzi alba, jehoz zjisteni bylo popsano vyse, zkontroluje se, jestli ma uzivatel pravo pridat svuj prispeve do diskuze alba, jak bylo popsano vyse.

Pokud ano, smi pridat do diskuze svuj prispevek. Pri pridavani prispevku se uzivateli zobrazuje totez co navstevnikovi. Vse probiha stejne jako u navstevnika.

Poznamka: Po uzivateli nemusi byt vyzadovano opsani captcha obrazku, viz poznamka uvedena vyse.

Dalsi moznosti uzivatele

Pokud jsou v systemu povoleny notifikace (atribut GlobalSettings.Notification.hide_all_notifications) a pokud je v systemu povolena diskuze u alb (atribut GlobalSettings.Album.hide_discussion) a pokud ma uzivatel pravo cist diskuzi tohoto alba, jehoz zjisteni bude popsano vyse, zobrazi se uzivateli, zda ma nebo nema vytvorenou notifikaci o novych prispevcich v diskuzi alba, a muze si ji vytvorit nebo zrusit, coz bylo popsano v kapitole Detail albumu.


Uzivateli se pri pridavani prispevku aktualizuje cas posledniho pristupu do diskuze stejne jako pri zobrazovani diskuze, coz bylo popsano vyse.

Zmena prispevku

Uzivatel muze mit moznost zmenit text vybraneho prispevku, napr. kvuli spamu, nevhodnym vyrazum apod.

Pokud jsou v systemu povolena alba a diskuze u alb (atributy GlobalSettings.Album.hide_all_albums a GlobalSettings.Album.hide_discussion) a pokud ma uzivatel pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov, zjisti se, zda smi uzivatel cist diskuzi alba, jak bylo bylo popsano vyse. Pokud ano a pokud je uzivatel ve skupine, ktera smi v tomto albu menit prispevky - tj. ma pravo psat do diskuze a mazat prispevky z diskuze (atributy GroupInAlbum.may_write_discussion a GroupInAlbum.may_delete_discussion), muze uzivatel zmenit text vybraneho prispevku.

Uzivateli se zobrazi editovatelny text prispevku (atribut Album.Discussion.Item.text). Ostatni atributy prispevku (z tridy Album.Discussion.Item) uzivatel zmenit nemuze. Po ukonceni editace se text prispevku zkontroluje, jak bylo popsano vyse. Pokud je vse v poradku, novy text se ulozi. Pokud ne, musi ho uzivatel upravit.

Pri uprave textu prispevku se take zrusi odkaz na uzivatele, ktery prispevek pridaval (atribut Album.Discussion.Item.user).

Uzivateli se pri zmene prispevku aktualizuje cas posledniho pristupu do diskuze stejne jako pri zobrazovani prehledu diskuze, coz bylo popsano vyse.

Smazani prispevku

Uzivatel muze smazat vybrany prispevek, napriklad protoze to je spam apod.

Pokud jsou v systemu povolena alba a diskuze u alb (atributy GlobalSettings.Album.hide_all_albums a GlobalSettings.Album.hide_discussion) a pokud ma uzivatel pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov, zjisti se, zda smi uzivatel cist diskuzi alba, jak bylo bylo popsano vyse. Pokud ano a pokud je uzivatel ve skupine, ktera smi v tomto albu mazat prispevky (atribut GroupInAlbum.may_delete_discussion), muze uzivatel smazat vybrany prispevek.

Neexistuje-li na prispevek neci odpoved, muze byt smazan. Existuje-li na prispevek neci odpoved, zmeni se stav prispevku na smazan (atribut Album.Discussion.Item.state) a misto puvodniho textu (atribut Album.Discussion.Item.text) bude zobrazovan pouze text ve smyslu, ze dany prispevek byl smazan.

Uzivatel je dotazan, zda chce vybrany prispevek smazat. Pokud ano, zkontroluje se stav vybraneho prispevku (atribut Album.Discussion.Item.state). Pokud je nastaven na potvrzen, zmensi se pocet prispevku v diskuzi tohoto alba o jedna. Pote je vybrany prispevek smazan. Pokud prispevek nechce smazat, je mazani zruseno a uzivateli se znovu zobrazi diskuze alba, jak bylo popsano vyse.

Dale ma uzivatel moznost smazat cely podstrom prispevku. Uzivatel je dotazan, zda chce vybranou operaci opravdu provest. Pokud ano, probehne kontrola stavu prispevku a prepocitani poctu prispevku v diskuzi alba, jako pri smazani jednoho prispevku. Pote jsou vsechny prispevky ve vybranem podstrome smazany (u zadneho se nebude menit stav na smazan). Pokud nechce prispevky smazat, je akce zrusena a uzivateli se znovu zobrazi diskuze alba, jak bylo popsano vyse.

Implementacni poznamka: Pokud byl prispevek smazan a pokud ma jeho otec (atribut Album.Discussion.Item.parent) nastaven stav na smazan (atribut Album.Discussion.Item.state) a pokud nema zadne syny, smaze se take. Muze tedy dojit ke smazani vice prispevku.


Uzivateli se pri pridavani prispevku aktualizuje cas posledniho pristupu do diskuze stejne jako pri zobrazovani prehledu diskuze, coz bylo popsano vyse.

Prehled nepotvrzenych prispevku

Uzivatel muze mit moznost zobrazit si prehled nepotvrznych prispevku v diskuzi alba.

Pokud jsou v systemu povolena alba a diskuze u alb (atributy GlobalSettings.Album.hide_all_albums a GlobalSettings.Album.hide_discussion) a pokud ma uzivatel pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov, zjisti se, zda smi uzivatel cist diskuzi alba, jak bylo bylo popsano vyse. Pokud ano a a pokud je uzivatel ve skupine, ktera smi v tomto albu potvrzovat prispevky (atribut GroupInAlbum.may_confirm_discussion), zobrazi se uzivateli prehled prispevku v diskuzi alba, jejichz stav je nastaven na cekajici na potvrzeni (atribut Album.Discussion.Item.state), jak bylo popsano vyse.

Uzivatel ma moznost vybrany prispevek potvrdit.

Uzivatel muze mit moznosti popsane vyse - tj. pridani, smazani a zmenu prispevku.


Uzivateli se aktualizuje cas posledniho pristupu do diskuze stejne jako pri zobrazovani diskuze, coz bylo popsano vyse.

Potvrzeni prispevku

Uzivatel muze potvrdit vybrany prispevek. Potvrzene prispevky se pak budou zobrazovat v prehledu diskuze i dalsim uzivatelum.

Pokud jsou v systemu povolena alba a diskuze u alb (atributy GlobalSettings.Album.hide_all_albums a GlobalSettings.Album.hide_discussion) a pokud ma uzivatel pravo prohlizet si album, jehoz zjisteni bylo popsano v kapitole Prehlad albumov, zjisti se, zda smi uzivatel cist diskuzi alba, jak bylo bylo popsano vyse. Pokud ano a a pokud je uzivatel ve skupine, ktera smi v tomto albu potvrzovat prispevky (atribut GroupInAlbum.may_confirm_discussion), muze uzivatel potvrdit vybrany prispevek, jehoz stav je nastaven na cekajici na potvrzeni.

Pri potvrzovani se uzivateli zobrazi text vybraneho prispevku a pripadne i text prispevku, na ktery vybrany prispevek reaguje, coz bylo popsano vyse.

Pokud uzivatel potvrdi vybrany prispevek, zmeni se stav tohoto prispevku na potvrzen (atribut Album.Discussion.Item.state). Take se zvetsi pocet prispevku v diskuzi o jedna. Pokud uzivatel vybrany prispevek nepovoli, zustane ve stavu cekajici na potvrzeni.


Pokud byl prispevek uzivatelem potvrzen a pokud jsou v systemu povoleny notifikace (atribut GlobalSettings.Notification.hide_all_notifications), posle se notifikace o novem prispevku, jak bylo popsano vyse.

Poznamka: Notifikace se neposila uzivateli, ktery prispevek potvrdil, i kdyz ji ma nastavou, a posila se autorovi prispevku, pokud ji ma nastavenou.


Uzivateli se pri pridavani prispevku aktualizuje cas posledniho pristupu do diskuze stejne jako pri zobrazovani prehledu diskuze, coz bylo popsano vyse.