Powered by slightly modified MediaWiki and TED Notepad.

Dev:Classes/Users

Image:Classes_-_Users.png

Navigation: Dev:Classes.

Contents

Uvod

Navstevnik, uzivatel, spravca

Uzivatelia systemu sa delia na dve zakladne skupiny: navstevnikov a registrovancyh uzivatelov. Rozdiel medzi navstevnikom a registrovanym uzivatelom je okrem registracie aj prihlasenie. Pokial sa navstevnik nezaregistuje a/alebo neprihlasi, vystupuje v systeme ako navstevnik a podla toho sa odvijaju i jeho prava ci moznosti v systeme.

Po uspesnej registracii a naslednom uspesnom prihlaseni sa navstevnik stava registrovanym uzivatelom (skratene uzivatelom). Uzivatel ma, narozdiel od navstevnika, svoj vlastny profil. V profile moze o sebe upresnit a zverejnit osobne informacie. Dalsim rozdielom navstevnika a uzivatela su nastavenia. U kazdeho prihlaseneho uzivatela si system pamata radu nastaveni aj medzi jednotlivymi prihlaseniami. Naopak, navstevnik si musi nastavenia upravit pre kazdu session znovu.

System okrem navstevnikov a uzivatelov definuje tiez tzv. spravcu systemu. Principialny rozdiel medzi uzivatelom a spravcom vsak nie je. Spravca systemu sa od bezneho uzivatela lisi iba vyctom konkretnych spravcovskych prav a moznosti (napriklad pravo na mazanie cudzich fotiek). Tychto spravcovskych prav a moznosti je niekolko typov a nemaju ziadnu hierarchiu (tj. neexistuje pravo typu absolutny root). Pokial sa o uzivatelovi hovori ako o spravcovi, je vzdy podstatne dodat, ze je to spravca niecoho konkretneho, napriklad albumov. Pojem absolutny root sa da v systeme napodobit (temer) priradenim vsetkych typov spravcovskych prav.

Kontakty

Uzivatel moze mat v systeme priatelov a nepriatelov. Priatelia sluzia predovsetkym ako kontakt-list, cize nastroj informujuci uzivatela, ktori z jeho priatelov boli naposledy on-line. Poskytuje uzivatelovi aj rychlu cestu k nim (k ich profilu, albumom a pod.).

Nepriatelia su naopak ti, ktori otravuju uzivatelovi zivot. Pridanim nepriatela uzivatel systemu hovori, ze komentare ci fotky od neho chce transparentne ignorovat.

Poznamka: Uzivatel by sa nemal mat moznost dozvediet, ci je niekoho priatelom alebo nepriatelom.

Hesla

Uzivatel moze mat v systeme viac hesiel. Jednak preto, aby si mohol definovat tazke heslo, ktore bude zadavat v preplnenej miestnosti z mnohymi ocami, a tiez lahke heslo, ktore bude zadavat, ked bude uplne sam. Rovnako system ponuka moznost jednorazovych hesiel, ako formu kvazibezpecneho prihlasenia i v zabackdoorovanych systemoch.

Maily

System ponuka moznost posielat uzivatelom e-maily od ostatnych uzivatelov prostrednictvom formularov v profiloch. Tieto maily system odosiela bud ihned, alebo ako denne/tyzdenne suhrny, podla uzivatelovho nastavenia.

Uzivatel si tiez moze zvolit zasielanie notifikacii na rozne udalosti v systeme (nove fotky, albumy a pod.). Tieto notifikacie sa rovnako posielaju bud ihned, alebo ako suhrny.

Trieda: Visitor

Navstevnik systemu, neregistrovany a/alebo neprihlaseny uzivatel.

Navstevnik v systeme nie je persistentny a jeho identita nie je nijak overovana. Vsetky jeho nastavenia sa obvykle stratia, ked system opusti.

Poznamka: Vid triedu Visitor.Settings.

Poznamka: Trieda momentalne nema ziadne verejne atributy.


Trieda: Visitor.Settings

 Nastavenia navstevnika systemu.

Navstevnik v systeme nie je persistentny, tj. jeho nastavenia sa obvykle stratia, ked system opusti.


name type description
language enum Jazyk v ktorom sa stranky maju uzivatelovi zobrazit. Navstevnik si moze zvolit jeden z predvolenych jazykov. Mozne hodnoty: Vsetky aktualne nainstalovane jazyky.
skin enum Nastavenie uzivatela, ktore hovori, ktory skin sa ma pouzit pri zobrazovani systemovych stranok.
max_resolution enum Nastavenie navstevnika hopvoriace o tom, ake maximalne rozlisenie fotiek sa mu ma zobrazovat. Vacsie fotky budu pred zobrazenim zmensene. Nastavenie ma predovsetkym zamedzit prenosu velkeho mnozstva dat, je preto potrebne, aby fotky zmensoval samotny server, nie prehliadac klienta. Mozne hodnoty: Original, 1200px, 1024px, 800px, 600px, ..., ...
signature_name string Meno, ktore navstevnik zadal pri pridavani komentaru, pridavani prispevku do diskusie pripadne pri posielani mailu inemu uzivatelovi, atd.
signature_email string Email, ktory navstevnik zadal pri pridavani komentaru, pridavani prispevku do diskusie pripadne pri posielani mailu inemu uzivatelovi, atd.
comments_display_type enum Deleted. Typ/sposob zobrazovania komentarov k fotkam. Mozne hodnoty: Zobraz ako strom zostupne/vzostupne, zobraz podla datumu zostupne/vzostupne.
comments_list_style enum Renamed. Typ/sposob zobrazovania diskusie k albumu. Moznosti:
  • tree-up, tree-down - zobraz ako strom zostupne/vzostupne.
  • date-up, date-down - zobraz podla datumu zostupne/vzostupne.
photo_list_style enum Styl, v ktorom sa ma zobrazovat prehlad uzivatelovych fotiek. Moznosti:
  • thumbnails - pomerne strucna tabulka nahladov fotiek. Podla moznosti by malo byt viac fotiek v jednom (vysokom) riadku.
  • full-details - velmi podrobna tabulka nahladov fotiek. Kazda fotka v jednom (vysokom) riadku, spolu s temer vsetkymi informaciami o danej fotke.
  • common-details - tabulka nahladov a detailov fotiek. Kazda fotka v jednom (vysokom) riadku, spolu s niektorymi dalsimi informaciami o danej fotke.
  • list - jednoduchy zoznam fotiek, bez nahladov. Kazda fotka ako jeden textovy riadok s najbeznejsimi informaciami.
photo_list_sort enum Typ zoradenia fotiek v prehlade uzivatelovych fotiek. Moznosti:
  • tags-up, tags-down - zorad a zoskup podla tagov.
  • name-up, name-down - zorad podla Photo.Info.name.
  • location-up, location-down - zorad podla Photo.Info.location.
  • author-up, author-down - zorad podla Photo.Info.author.
  • date-up, date-down - zorad podla Photo.Info.date.
  • added-up, added-down - zorad podla Photo.Info.added.
  • count-up, count-down - zorad podla Photo.Score.count.
  • score-up, score-down - zorad podla priemerneho hodnotenia fotky. Vid Photo.Score.
  • score-count-up, score-count-down - zorad podla Photo.Score.denominator.
  • album-count-up, album-count-down - zorad podla poctu albumov, v ktorych je fotka priradena.
  • comments-up, comments-down - zorad podla poctu komentarov k fotkam.
  • size-up, size-down - zorad podla Image.size.
  • proportions-up, proportions-down - zorad podla Image.width a Image.height.

Poznamka: Tento atribut moze (ale nemusi) byt tak trochu zavisly na atribute photo_list_style.

photo_list_pagelen int Pocet fotiek na jednu stranku v prehlade uzivatelovych fotiek.
album_list_style enum Styl, v ktorom sa ma zobrazovat prehlad album. Moznosti:
  • thumbnails - pomerne strucna tabulka nahladov albumov. Podla moznosti by malo byt viac albumov v jednom (vysokom) riadku.
  • full-details - velmi podrobna tabulka nahladov albumov. Kazde album v jednom (vysokom) riadku, spolu s temer vsetkymi informaciami o nom.
  • common-details - tabulka nahladov a detailov albumov. Kazde album v jednom (vysokom) riadku, spolu s niektorymi dalsimi informaciami o nom.
  • list - jednoduchy zoznam albumov, bez nahladov. Kazde album ako jeden textovy riadok s najbeznejsimi informaciami.

Poznamka: Nahladom albumu sa mysli okrem jeho nazvu aj jemu priradena ikona (vid atribut Album.icon).

Poznamka: Atribut plati aj pre prehlad cudzich albumov, ale aj pre prehlad vlastnych ci oblubenych albumov registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.

album_list_sort enum Typ zoradenia albumov v prehlade albumov. Moznosti:
  • name-up, name-down - zorad podla Album.name.
  • last-photo-up, last-photo-down - zorad podla datumu posledneho pridania fotky (vid atribut PhotoInAlbum.added). Poznamka: V uvahu by sa mali brat vzdy iba fotky, ktore sa v albume skutocne zobrazuju, tj. nie su v albume zakazane, ani cakajuce na potvrdenie, ani nie su privatne, ani zahodene do kosa a pod.
  • photo-count-up, photo-count-down - zorad podla celkoveho poctu zobrazujucich sa fotiek v kazdom albume.
  • photo-confirm-up, photo-confirm-down - zorad podla poctu fotiek cakajucich na potvrdenie v kazdom albume. Poznamka: Tato moznost nie je dostupna pre navstevnika, ale az pre registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.
  • discussion-count-up, discussion-count-down - zorad podla celkoveho poctu prispevkov v diskusii kazdeho albumu.
  • discussion-confirm-up, discussion-confirm-down - zorad podla poctu prispevkov cakajucich na potvrdenie v diskusii kazdeho albumu. Poznamka: Tato moznost nie je dostupna pre navstevnika, ale az pre registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.

Poznamka: Tento atribut moze (ale nemusi) byt tak trochu zavisly na atribute album_list_style.

Poznamka: Atribut plati aj pre prehlad vsetkych albumov, ale aj pre prehlad vlastnych ci oblubenych albumov registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.

album_list_pagelen int Pocet albumov zobrazenych na jednu stranku v prehlade albumov.

Poznamka: Atribut plati aj pre prehlad cudzich albumov, ale aj pre prehlad vlastnych ci oblubenych albumov registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.

album_photo_list_style enum Styl, v ktorom sa ma zobrazovat prehlad fotiek albumu. Moznosti:
  • thumbnails - pomerne strucna tabulka nahladov fotiek. Podla moznosti by malo byt viac fotiek v jednom (vysokom) riadku.
  • full-details - velmi podrobna tabulka nahladov fotiek. Kazda fotka v jednom (vysokom) riadku, spolu s temer vsetkymi informaciami o danej fotke.
  • common-details - tabulka nahladov a detailov fotiek. Kazda fotka v jednom (vysokom) riadku, spolu s niektorymi dalsimi informaciami o danej fotke.
  • list - jednoduchy zoznam fotiek, bez nahladov. Kazda fotka ako jeden textovy riadok s najbeznejsimi informaciami.

Poznamka: Atribut plati aj pre prezentacne detaily cudzich albumov, ale aj pre zobrazenia vlastnych albumov registrovaneho uzivatela pocas spravy albumu. Ten totiz triedu Visitor v sebe obsahuje.

album_photo_list_sort enum Typ zoradenia fotiek v detaile albumu. Moznosti:
  • name-up, name-down - zorad podla Photo.Info.name.
  • location-up, location-down - zorad podla Photo.Info.location.
  • author-up, author-down - zorad podla Photo.Info.author.
  • date-up, date-down - zorad podla Photo.Info.date.
  • added-up, added-down - zorad podla PhotoInAlbum.added.
  • count-up, count-down - zorad podla Photo.Score.count.
  • score-up, score-down - zorad podla priemerneho hodnotenia fotky. Vid Photo.Score.
  • score-count-up, score-count-down - zorad podla Photo.Score.denominator.
  • album-count-up, album-count-down - zorad podla poctu albumov, v ktorych je fotka priradena.
  • comments-up, comments-down - zorad podla poctu komentarov k fotkam.
  • size-up, size-down - zorad podla Image.size.
  • proportions-up, proportions-down - zorad podla Image.width a Image.height.

Poznamka: Tento atribut moze (ale nemusi) byt tak trochu zavisly na atribute album_photo_list_style.

Poznamka: Atribut plati aj pre prezentacne detaily cudzich albumov, ale aj pre zobrazenia vlastnych albumov registrovaneho uzivatela pocas spravy albumu. Ten totiz triedu Visitor v sebe obsahuje.

album_photo_list_pagelen int Pocet fotiek zobrazenych na jednu stranku v albume.

Poznamka: Atribut plati aj pre prezentacne detaily cudzich albumov, ale aj pre zobrazenia vlastnych albumov registrovaneho uzivatela pocas spravy albumu. Ten totiz triedu Visitor v sebe obsahuje.

user_list_style enum Styl, v ktorom sa ma zobrazovat prehlad uzivatelov. Moznosti:
  • thumbnails - pomerne strucna tabulka nahladov uzivatelov. Podla moznosti by malo byt viac fotiek v jednom (vysokom) riadku.
  • full-details - velmi podrobna tabulka nahladov uzivatelov. Kazda fotka v jednom (vysokom) riadku, spolu s temer vsetkymi informaciami o danom uzivatelovi.
  • common-details - tabulka nahladov a detailov uzivatelov. Kazda fotka v jednom (vysokom) riadku, spolu s niektorymi dalsimi informaciami o danom uzivatelovi.
  • list - jednoduchy zoznam uzivatelov, bez nahladov. Kazdy uzivatel ako jeden textovy riadok s najbeznejsimi informaciami.

Poznamka: Pokial uzivatel nema v profile definovanu ziadnu fotku, zobrazi sa miesto nej piktogram chybajucej fotky.

user_list_sort enum Typ zoradenia uzivatelov v prehlade uzivatelov. Moznosti:
  • name-up, name-down - zorad podla User.Profile.display_name, resp. Friend.rename, pokial existuje.
  • age-up, age-down - zorad podla veku User.Profile.birth. Poznamka: Atribut User.Profile.show_birth by mal byt brany pri tomto triedeni v uvahu. Uzivatelia, ktori nechcu zverejnit svoj vek by mali byt radeni vzdy na koniec zoznamu (bezohladu na up / down verziu).
  • access-up, access-down - zorad podla aktualneho stavu prihlasenia (existencia hashu v atribute User.session) a potom podla casu poslednej akcie (vid User.last_access).

Poznamka: Tento atribut moze (ale nemusi) byt tak trochu zavisly na atribute user_list_style.

user_list_pagelen int Pocet uzivatelov zobrazenych na jednu stranku v prehlade uzivatelov.
group_list_style enum Styl, v ktorom sa ma zobrazovat prehlad skupin. Moznosti:
  • full-details - velmi podrobna tabulka skupin. Kazda skupina, spolu s temer vsetkymi informaciami o nej.
  • list - jednoduchy zoznam skupin, bez dalsich detailov.

Poznamka: Atribut plati aj pre prehlad vsetkych skupin, ale aj pre prehlad skupin kde je registrovany uzivatel clenom. Ten totiz triedu Visitor v sebe obsahuje.

group_list_sort enum Typ zoradenia skupin v prehlade skupin. Moznosti:
  • name-up, name-down - zorad podla Group.name.
  • category-up, category-down - zorad podla Group.category.
  • user-count-up, user-count-down - zorad podla poctu potvrdenych uzivatelov v skupine. Do tohto poctu sa nerataju zakazany a nepotvrdeny uzivatelia.
  • user-confirm-up, user-confirm-down - zorad podla poctu uzivatelov cakajucich na potvrdenie v kazdej skupine. Poznamka: Tato moznost nie je dostupna pre navstevnika, ale az pre registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.
  • discussion-count-up, discussion-count-down - zorad podla celkoveho poctu prispevkov v diskusii kazdej skupiny.
  • discussion-confirm-up, discussion-confirm-down - zorad podla poctu prispevkov cakajucich na potvrdenie v diskusii kazdej skupiny. Poznamka: Tato moznost nie je dostupna pre navstevnika, ale az pre registrovaneho uzivatela. Ten totiz triedu Visitor v sebe obsahuje.

Poznamka: Tento atribut moze (ale nemusi) byt tak trochu zavisly na atribute group_list_style.

Poznamka: Atribut plati aj pre prehlad vsetkych skupin, ale aj pre prehlad skupin kde je registrovany uzivatel clenom. Ten totiz triedu Visitor v sebe obsahuje.

group_list_pagelen int Pocet skupin zobrazenych na jednu stranku v prehlade skupin.

Poznamka: Atribut plati aj pre prehlad vsetkych skupin, ale aj pre vlastne prehlad skupin kde je registrovany uzivatel clenom. Ten totiz triedu Visitor v sebe obsahuje.


Trieda: User

Uzivatel zaregistrovany a prihlaseny v systeme. Obsahuje v sebe informacie navstevnika (tj. dedi od triedy Visitor). Trieda reprezentuje jak bezneho uzivatela, tak i privilegovanych uzivatelov. Spravcovia systemu tak nebudu musiet mat v systeme zvlast ucty na jeho spravu a zvlast na spravovanie vlastnych fotiek. Trieda obsahuje kompozicne viacero podtried, ktore dalej specifikuju popis, prava a moznosti uzivatela.


name type description
login string Prihlasovacie meno uzivatela, v ramci systemu unikatne.
state enum Stav uzivatela v systeme. Moznosti:
  • waiting-mail - uzivatel caka na potvrdenie mailu.
  • waiting-approval - uzivatel caka na potvrdenie spravcom.
  • approved - uzivatel je v systeme potvrdeny, moze sa prihlasit a pracovat.
  • banned - uzivatel je v systeme zakazany a nemoze sa prihlasit ani vykonavat ziadne operacie.
reason text Pokial je uzivatel v systeme zakazany (vid atribut state), tu sa moze nachadzat informativny dovod jeho zakazania, napriklad napisany spravcom, ktory uzivatela zakazal.
session hash Docasny hash pod ktorym navstevnik alebo prihlaseny uzivatel v systeme prave vystupuje. Pri prihlaseni sa mu vzdy vygeneruje novy hash, pri odhlaseni sa jeho hash zrusi.
last_login datetime Cas posledneho prihlasenia. Tento cas by sa mal aktualizovat pri kazdom uspesnom prihlaseni, aby bolo mozne spocitat dobu, po ktoru je (bol) uzivatel online. Vid atribut last_access.
last_access datetime Cas posledneho pristupu. Tento cas by sa mal aktualizovat pri kazdej operacii, aby z neho mohol byt pocitany pripadny timeout.

Poznamka: Timeouty su tri. Prekrocenim prveho dojde ku stavu away, prekrocenim druheho k logickemu odhlaseniu, prekrocenim tretieho k fyzickemu odhlaseniu. Vid triedu GlobalSettings.User.

previous_ip netip IP adresa, z ktorej sa uzivatel minule prihlasil. Zobrazuje sa napriklad na uvodnej stranke.
current_ip netip IP adresa, z ktorej je uzivatel prave prihlaseny. Podla nej sa da skontrolovat, ci uzivatel nezmenil adresu a teda ci sa nejedna o nejakeho medzizaskodnika a pod.


Trieda: User.Profile

 Podrobnejsie info o uzivatelovi. Meno, kontakty, popisy, ...


name type description
photo link Reprezentativna fotka uzivatela. Jedna z uzivatelovych fotiek, vid triedu Photo.
display_name string Zobrazovane meno uzivatela.
email_reg string Privatny registracny e-mail uzivatela. Nezobrazuje sa v profile ani nikde inde. Pouziva sa na posielanie notifikacii a systemovych mailov. Registracny e-mail musi byt unikatny, tj. na jeden registracny e-mail moze byt registrovany iba jeden uzivatelsky ucet. Tento e-mail je nutne potvrdit, vid triedu UnverifiedMail.
email_contact string Kontaktny e-mail uzivatela. Pokial je zadany, pouziva sa na posielanie uzivatelskych mailov (zo skupiny a pod.) a zobrazuje sa v profile. Pokial nie je zadany, pouziva sa miesto neho email_reg, ten sa vsak nikde nezobrazuje. Poznamka: Kontaktny e-mail nemusi byt unikatny a moze byt zhodny s registracnym, pokial sa ma zobrazovat v profile.
web string Webova stranka uzivatela.
icq string ICQ cislo uzivatela.
birth datetime Datum narodenia uzivatela.
sex enum Pohlavie uzivatela.
address struct Postova adresa uzivatela.
description text Popis uzivatela.
telephone string Telefon uzivatela.
show_email_contact bool Hovori, ci sa ma kontaktny e-mail uzivatela zobrazovat.
show_web bool Hovori, ci sa ma webova stranka uzivatela zobrazovat.
show_icq bool Hovori, ci sa ma ICQ cislo uzivatela zobrazovat.
show_birth bool Hovori, ci sa ma datum narodenia uzivatela zobrazovat.
show_sex bool Hovori, ci sa ma pohlavie uzivatela zobrazovat.
show_address bool Hovori, ci sa ma postova adresa uzivatela zobrazovat.
show_description bool Hovori, ci sa ma popis uzivatela zobrazovat.
show_telephone bool Hovori, ci sa ma telefon uzivatela zobrazovat.


Trieda: User.Settings

 Nastavenia tykajuce sa koncoveho uzivatela. Nastavenia o tom, ako sa ma system spravat k nemu, k jeho fotkam, albumom a skupinam.

Poznamka: Vdaka dedicnosti medzi triedami Visitor a User dedi tato trieda od triedy Visitor.Settings.


name type description
watermark_position enum Nastavenie uzivatela, ktore hovori, ci a kam sa ma na originalny obrazok nalepit pripadny watermark. Moznosti:
  • default - na umiestnenie sa pouzije celosystemovy atribut GlobalSettings.Photo.default_watermark_position.
  • none - ziaden watermark sa nezobrazi. Atribut watermark_image nema ziaden vyznam. Vid nizzsie.
  • top-left, top-right, top-center, atd. - Watermark sa zobrazi so zadanou polohou.

Poznamka: Celosystemovy atribut GlobalSettings.Photo.allow_user_watermark moze uzivatelovi uplne zakazat nastavenie a pouzitie tohto atributu.

watermark_photo link Renamed. Nastavenie uzivatela, ktore hovori, cim (akym obrazkom) sa maju jeho fotky watermarkovat, ak vobec. Uzivatel by si mal zvolit vhodne velky obrazok, pripadne tiez zcasti priesvitny. Pokial uzivatel watermark nema definovany, pouzije sa celosystemovy watermark GlobalSettings.Photo.default_watermark_image.

Poznamka: Celosystemovy atribut GlobalSettings.Photo.allow_user_watermark moze uzivatelovi uplne zakazat nastavenie a pouzitie tohto atributu.

common_notifications set Nastavenie uzivatela, ktore hovori, ktore z obvyklych notifikacii sa mu maju posielat. Moznosti:
  • photo-comment - nove komentare ku vlastnym fotkam, resp. komentare cakajuce na potvrdenie.
  • group-member - novy nepotvrdeny clenovia vo vlastnych skupinach alebo skupinach v ktorych je uzivatel moderatorom.
  • group-new-discussion - nove diskusne prispevky vo vlastnych skupinach alebo skupinach v ktorych je uzivatel clenom.
  • group-confirm-discussion - diskusne prispevky cakajuce na potvrdenie vo vlastnych skupinach alebo skupinach v ktorych je uzivatel clenom a ma dostatocne prava na potvrdzovanie prisprevkov.
  • album-new-photo - nove fotky vo vlastnych alebo oblubenych albumoch.
  • album-confirm-photo - fotky cakajuce na potvrdenie vo vlastnych alebo oblubenych albumoch v ktorych ma uzivatel dostatocne prava na potvrdzovanie fotiek.
  • album-new-discussion - nove diskusne prispevky vo vlastnych/oblubenych albumoch.
  • album-confirm-discussion - diskusne prispevky cakajuce na potvrdenie vo vlastnych alebo oblubenych albumoch v ktorych ma uzivatel dostatocne prava na potvrdzovanie prisprevkov.

Poznamka: Notifikacie na vlastne komentare, fotky, ci prispevky sa posielat nemaju!

notifications_frequency enum Nastavenie uzivatela, ktore hovori, ci a ako casto sa mu maju posielat suhrny notifikacii. Mozne hodnoty:
  • single - kazda notifikacia sa posle zvlast a hned.
  • hourly - notifikacie sa poslu hromadne raz za hodinu, pokial nejake su.
  • daily, weekly, monthly - podobne ako pri hourly.
user_mails_frequency enum Nastavenie uzivatela, ktore hovori, ci a ako casto sa mu maju posielat suhrny uzivatelskych mailov. Vid triedu Mail. Mozne hodnoty:
  • single - kazdy mail sa posle zvlast a hned.
  • hourly - maily sa poslu hromadne raz za hodinu, pokial nejake su.
  • daily, weekly, monthly - podobne ako pri hourly.
hidden_objects set Nastavenie uzivatela, ktore hovori, ktore informacne okienka maju byt minimalizovane.
want_confirm_comments bool Hovori, ci uzivatel chce potvrdzovat komentare u svojich fotiek, alebo sa komentare mozu zobrazovat hned po ich pridani, tj. bez jeho potvrdenia.
signature_add_id bool Hovori, ci uzivatel chce okrem Visitor.signature_name po sebe zanechavat v komentaroch a diskusiach aj link na svoj profil.
actual_tags string Aktualne nastavenie zobrazovanych tagov, zapisane ako jeden retazec. Vid triedu PhotoTag, kde je popisana syntax.


Trieda: User.AdminSettings

 Nastavenia a opravnenia tykajuce sa spravcu systemu. Tato trieda v principe oddeluje bezneho uzivatela od spravcu, a to tym, co dany uzivatel smie v systeme vykonavat. Jasne hranice medzi uzivatelom a spravcom teda nie su implicitne definovane.


name type description
skip_captcha bool Hovori, ci budu od uzivatela vyzadovane captcha obrazky, alebo nie. Toto nastavenie ma sluzit hlavne vybranym uzivatelom systemu, ktorym by captcha obrazky akurat otravovali zivot. O uzivatelovi, ktory toto opravnenie dostane sa predpoklada, ze nebude system zneuzivat a preto je zbytocne ho zatazovat opisovanim obrazkov. Tento atribut ma vyssiu prioritu nez atribut GlobalSettings.captcha_len.
override_space_quota int Hovori, ci ma uzivatel specialnu kvotu na vlozene obrazky. Pokial je jeho hodnota nulova, pre uzivatela plati celosystemovy atribut GlobalSettings.User.space_quota z triedy. Pokial je hodnota nenulova, tak celosystemovy atribut GlobalSettings.User.space_quota prekryva a udava novu kvotu v bytoch. Pokial je hodnota zaporna, pre uzivatela neexistuje ziadna kvota.
full_read_access bool Hovori, ci ma uzivatel kompletny readonly pristup ku vsetkym beznym objektom systemu. Pokial ano, uzivatel smie prezerat i albumy/fotky/skupiny, ktore by inak nemohol. Toto opravnenie mu vsak este nedava opravnenie manipulovat s danymi objektami.
may_manage_users bool Hovori, ci uzivatel smie spravovat (potvrdzovat, mazat a zakazovat) uzivatelov. Pokial ano, stava sa z neho spravca uzivatelov, tj. moze napriklad zakazat ineho uzivatela, zmazat mu konto, alebo ho pripade zase povolit.
may_manage_rights bool Hovori, ci uzivatel smie spravovat prava inych uzivatelov. Tento atribut sa tyka iba moznosti menit inym uzivatelom hodnoty atributov triedy User.AdminSettings. Uzivatel vsak nemoze menit inym uzivatelom prava, ktore sam nema, tj. napriklad nemoze inemu uzivatelovi dat/vziat pravo User.AdminSettings.may_manage_directories, pokial sam nema pravo User.AdminSettings.may_manage_directories.

Ponznamka: Uzivatel by nemal mat sam moznost manipulovat s vlastnymi pravami ani ked na to ma prava.

may_manage_photos bool Hovori, ci uzivatel smie spravovat (mazat) cudzie fotky. Pokial ano, stava sa z neho spravca fotiek, tj. ma pristup ku vsetkym fotkam a moze napr. lubovolnu cudziu fotku zmazat.
may_manage_shared_storage bool Hovori, ci uzivatel smie spravovat verejne fotky. Vyznam a dopad tohoto atributu zalezi od celosystemoveho nastavenia GlobalSettings.Photo.shared_storage_for_users.
may_manage_categories bool Hovori, ci uzivatel smie spravovat (pridavat, potvrdzovat, editovat, mazat) kategorie skupin. Pokial ano, stava sa z neho spravca kategorii skupin, tj. ma prehlad nad kategoriami, moze ich vytvarat alebo naopak mazat. Naviac ma pravo presuvat skupiny medzi kategoriami.

Poznamka: Bezny uzivatelia mu pripade mozu davat navrhy na nove kategorie, ktore on moze potvrdit.

may_manage_groups bool Hovori, ci uzivatel smie spravovat (potvrdzovat, mazat a zakazovat) skupiny. Pokial ano, stava sa z neho spravca skupin, tj. ma komplety prehlad nad vsetkymi skupinami a moze ich napr. mazat, aj ked nie je ich vlastnikom.
may_manage_directories bool Hovori, ci uzivatel smie spravovat (zakladat, potvrdzovat, editovat, mazat) adresare na albumy. Pokial ano, stava sa z neho spravca adresarov albumov, tj. ma nad nimi prehlad, moze ich vytvarat alebo naopak mazat. Naviac ma pravo presuvat albumy medzi adresarmi.

Poznamka: Bezny uzivatelia mu mozu davat navrhy na nove adresare, ktore on moze potvrdit.

may_manage_albums bool Hovori, ci uzivatel smie spravovat (potvrdzovat, mazat a zakazovat) albumy v adresaroch. Pokial ano, stava sa z neho spravca albumov, tj. ma komplety prehlad nad vsetkymi albumami a moze ich napr. mazat, aj ked nie je ich vlastnikom.
may_manage_system bool New. Hovori, ci uzivatel smie udrzovat system. Vid kapitolu Udrzba systemu.
may_manage_settings bool Deleted. Hovori, ci uzivatel smie spravovat celosystemove nastavenia. Pokial ano, stava sa z neho spravca systemovych nastaveni, tj. ma prehlad tychto nastaveni a moze ich editovat.


Trieda: Password

Uzivatelove prihlasovacie heslo. Hesla sa delia na trvale a jednorazove a uzivatel moze mat neobmedzene mnoho hesiel oboch typov. Ulohou jednorazovych hesiel je predovsetkym ponuknut paranoidnym uzivatelom moznost prihlasovat sa do systemu bezpecne z kaviarni a inych verejnych miest.


name type description
user link Uzivatel, ktoremu heslo patri.
passwd hash Hash hesla.
once bool Nastavenie uzivatela, ci sa dane heslo ma zmazat po uspesnom pouziti.


Trieda: Friend

Priatelia uzivatela. Sluzia predovsetkym ako kontakt-list, teda ako sposob rychleho kontaktu s inymi vybranymi uzivatelmi. Uzivatel si moze priatelov premenovat a vidiet ich tak pod inymi menami, nez si oni zvolili ako svoje User.Profile.display_name.


name type description
user link Uzivatel, ktoremu priatelstvo patri.
friend link Uzivatel, ktory je priatelom.
rename string Nove meno, pod akym uzivatel priatela uvidi vo svojom zozname priatelov. Pokial je tento atribut prazdny, pouzije sa normalne meno priatela (vid atribut User.Profile.display_name).
tag string Uzivatelov tag, do ktoreho priatel patri. Reprezentuje kategoriu resp. keyword. Umoznuje uzivatelovi triedit si ciastocne svojich priatelov.
notes text Uzivatelove poznamky k priatelovi. Velkost poznamok je obmedzena systemovym nastavenim GlobalSettings.User.max_notes_length.


Trieda: Enemy

Nepriatelia uzivatela. Predstavuju tzv. ignore-list v niekolkych modoch. Uzivatel si moze nastavit do akej miery chce ineho uzivatela ignorovat. Moze napriklad ignorovat jeho prispevky v diskusiach, ale jeho fotky chce nadalej zobrazovat.


name type description
user link Uzivatel, ktoremu nepriatelstvo patri.
enemy link Uzivatel, ktory je nepriatelom.
ignore set Rozlisuje, v akej miere je nepriatel ignorovany. Uzivatel si moze nastavit napr. iba ignorovanie sprav, alebo aj ignorovanie vsetkych fotiek daneho nepriatela, atd. Moznosti:
  • mails - Ignoruje maily zaslane nepriatelom. Poznamka: Nepriatel by sa nemal dozvediet, ze jeho mail bol odignorovany.
  • comments - Ignoruje (nezobrazuje) komentare k fotkam.
  • group-discussion - Ignoruje (nezobrazuje) prispevky v diskusiach ku skupinam.
  • album-discussion - Ignoruje (nezobrazuje) prispevky v diskusiach k albumom.
  • photos - Ignoruje (nezobrazuje) fotky nepriatela.
notes text Uzivatelove poznamky k nepriatelovi. Velkost poznamok je obmedzena systemovym nastavenim GlobalSettings.User.max_notes_length.


Trieda: Mail

Trieda reprezentuje maily, ktore maju byt uzivatelovi casom poslane, ale i maily uz poslane v poslednej dobe. Ucel takehoto skladovania sprav je:

  • Zhromazdovanie sprav, ktore maju byt poslane naraz v dennom (tyzdennom, mesacnom, ...) suhrne. Da sa ocakavat, ze predovsetkym notifikacie budu uzivatelov zaujimat suhrnne.
  • Automatizovanie oneskoreneho posielania, ktore ma sancu zabranit narazovemu zatazeniu systemu. Napriklad pridanie komentaru vo velmi oblubenej a masivne sledovanej fotke by znamenala odoslanie mnozstva notifikacii, ktore by system nemusel narazovo zvladnut.
  • Zbieranie informacii o nedavno poslanych mailoch pre potreby ich analyzy a na prevenciu spamu.

Trieda by sa mala automaticky z casu na cas premazavat. Napriklad pred mesiacom odoslane spravy uz asi nie su velmi relevantne ani z hladiska spamu. Davno odoslane notifikacie uz tiez nemaju ziaden prakticky vyznam.


name type description
user link Uzivatel, ktoremu bol mail poslany.
sent datetime Hovori, ci uz bol dany mail fyzicky poslany a kedy sa tak stalo, alebo este len caka na neskorsie odoslanie.
type enum Typ spravy. Oddeluje notifikacie od mailov zaslanych inymi uzivatelmi, pripadne spravcami. Mailove suhrny by mali byt posielane zvlast pre notifikacie a zvlast pre uzivatelske spravy. Mozne hodnoty:
  • notification-photo-comment - notifikacia o novom komentari k fotke alebo notifikacia o komentari cakajucom na potvrdenie.
  • notification-photo-version - notifikacia o uploadnuti novej verzie fotky.
  • notification-group-member - notifikacia o novom clenovi skupiny, cakajucom na potvrdenie.
  • notification-group-discussion - notifikacia o novom prispevku v diskusii skupiny alebo notifikacia o prispevku cakajucom na potvrdenie.
  • notification-album-photo - notifikacia o novej fotke v albume alebo notifikacia o fotke cakajucej na potvrdenie.
  • notification-album-discussion - notifikacia o novom prispevku v diskusii albumu alebo notifikacia o prispevku cakajucom na potvrdenie.
  • user-mail - mail zaslany uzivatelovi inym uzivatelom cez systemovy formular.
  • special-notice - mail zaslany uzivatelovi administratorom.
date datetime Originalny datum a cas poslania mailu. Pri neskorsom fyzickom posielani sa tento udaj nemeni.
from string Meno odosielatela mailu. Nemusi to byt nutne registrovany uzivatel. U notifikace tento atribut obsahuje meno uzivatela, ktory danu notifikaciu zapricinil, napr. meno uzivatela, ktory pridal novy komentar.
email string E-mail odosielatela mailu, pokial je uvedeny. U notifikacie atribut nema vyznam.
subject string Predmet mailu. U notifikacie tento atribut obsahuje identifikator predmetu notifikacie, napr. u notifikacie o novom komentary bude subject-om identifikator daneho komentaru.
text text Text mailu. U notifikacie tento atribut obsahuje text predmetu notifikacie, pokial nejaky podobny text existuje, napr. u notifikacie o novom komentary to bude text komentaru.
ip netip IP adresa, z ktorej poziadavok na poslanie mailu prisiel. Sucast HTTP requestu. U notifikacie to bude IP adresa, z ktorej prisla akcia, ktora notifikaciu zapricinila.
host string Host name IP adresy, vid atribut ip. Sucast HTTP requestu.


Trieda: UnverifiedMail

Uzivatelova neoverena e-mailova adresa. Aby mohol system zasielat uzivatelovi notifikacie, musi najskuor uzivatel zadanu e-mailovu adresu potvrdit kliknutim na link v zaslanom potvrdzovacom e-maile. Do doby, nez sa tak stane plati stara uzivatelova adresa (pokial mal nejaku zadanu).

Poznamka: System by mal po nejakej pevnej dobe tieto nepotvrdene adresy automaticky rusit.


name type description
user link Uzivatel, ktory e-mailovu adresu zadal.
email string Zadana e-mailova adresa.
hash string Vygenerovany potvrdzovaci hash (32 znakov).

Poznamka: Hash by mal byt tazko predpovedatelny.. generovany z nahodnej veliciny:

md5 (uniqid (rand (), true));
added datetime Datum a cas, kedy bol hash vygenerovany.