\moduleFunctionTable
{Lietotāja konta rediģēšana}
{mod-func-user-edit}
{Lietotāja konta rediģēšana}
{LAMF04}
{
	Funkcijas mērķis ir rediģēt lietotāju konta datus, kas ir rediģējami.
	Administratoriem rediģēt dažus laukus, kuru rediģēšana nav pieejama lietotājiem, kas nav admistratori.
}
{
	Ievades dati tiek saņemti no reģistrēto lietotāju pieejamās veidlapas.

	Obligātie parametri:
	\begin{enumerate}
		\item Konta datu lietotāja identifikators - pozitīvs skaitlis.
		      Noklusētā vērtība - no konteksta lietotāja (kas piekļūst funkciju) iegūtais identifikators.
		\item Pilns vārds - simbolu virkne ar garumu līdz 50 simboliem, kas var saturēt burtciparu simbolus, defises un atstarpes.
		\item Segvārds - simbolu virkne ar garumu no 6 līdz 20 simboliem, kas var saturēt burtciparu simbolus, skaitļus, defises, pasvītras, apostrofus.
		\item E-pasta adrese - simbolu virkne ar garumu līdz 320 simboliem.
		      Pieļautajiem simboliem un pieļaujamam formātam jāatbilst ``RFC 2822: Interneta ziņu formāts'' standarta prasībām.
		\item Dzimšanas datums - datums formatēts kā simbolu virkne.
		\item Neobligātie parametri:
		\item Vecā parole - simbolu virkne, kas atbilst iepriekš minētām paroles prasībām.
		\item Jaunā parole - simbolu virkne, kas atbilst iepriekš minētām paroles prasībām.
		\item Jaunās paroles apstiprinājums - simbolu virkne, kas atbilst iepriekš minētām paroles prasībām.
		\item Administratoram specifiskie obligātie parametri:
		\item E-pasta apstiprinājuma karogs - karodziņš, noklusētā vērtība - nepatiess.
		\item Izveidošanas laiks - datums formatēts kā simbolu virkne, noklusētā vērtība - tagadējais laiks.
		\item Konta stāvokļa kods - skaitlisks kods, kas atbilst noteiktam lietotāja konta stāvoklim, noklusētā vērtība - 0.
	\end{enumerate}
}
{
	\begin{enumerate}
		\item Ja lietotājs nav administrators un lietotāja identifikators nesakrīt ar pieprasītāja lietotāja identifikatoru, parādīt 1. paziņojumu.
		\item Veido izmainīto datu sarakstu pēc turpmāk izmainītiem laukiem.
		\item Pārbauda, vai visi obligātie lauki ir iesniegti.
		      Ja nav, iegūst sarakstu ar neizpildītajiem laukiem, parāda 2. paziņojumu.
		\item Pārbauda, vai pilns vārds, segvārds, e-pasta adrese, parole satur tikai pieļaujamos simbolus.
		      Ja satur, tad iegūst izmantotos neatļautos simbolus, tad parāda 4. paziņojumu ar attiecīgi laukiem un simboliem.
		\item Pārbauda, vai pilns vārds, segvārds, e-pasta adrese, biogrāfiskā informācija, parole nepārsniedz noteikto garumu.
		      Ja satur, tad iegūst pārsniegto garumu parametru sarakstu un parāda 5. paziņojumu ar attiecīgi laukiem un garumiem.
		\item Pārbauda, vai dzimšanas datums atbilst noteiktam minimālam lietotāja vecumam.
		      Ja neatbilst, parāda 7. paziņojumu.
		\item Pārbauda, vai parole un paroles apstiprinājums sakrīt.
		      Ja nesakrīt, tad parāda 3. paziņojumu.
		\item Ja tika iesniegta biogrāfiskā informācija, aizvieto salīdzinājuma zīmes, ampersandu, dubultpēdiņas un pēdiņas ar izbēgšanas simboliem.
		\item Ja jaunā parole tika iesniegta, pārbauda, vai parole atbilst noteiktiem drošības prasībām.
		      Ja tā tiem neatbilst, tā parāda 6. paziņojumu ar attiecīgām neizpildītajām prasībām.
		\item Pievieno parolei nejauši noģenerēto simbolu virkni, šifrē paroli ar jaucējfunkciju.
		\item Ja tika iesniegts attēls, tad pārbauda, vai datne atbilst atļautajiem datnes paplašinājumiem.
		      Ja neatbilst, parāda 8. paziņojumu ar atļautiem datnes paplašinājumiem.
		\item Ja tika iesniegts attēls, tad pārbauda, vai datne nepārsniedz noteikto datnes lielumu.
		      Ja pārsniedz, parāda 9. paziņojumu ar iesniegtās datnes lielumu un maksimāli atļauto datnes lielumu.
		      Ja iesniegtā attēla paplašinājums nav PNG, tad datne tiek konvertētas šajā paplašinājumā.
		\item Ja tika iesniegts atšķirīgs segvārds, mēģina sameklēt datubāzē lietotājus ar ievadīto segvārdu.
		      Ja tāds (/-i) pastāv, tad parāda 10. paziņojumu ar attiecīgo aizņemto lauku.
		\item Ja tika iesniegts atšķirīgs e-pasts, mēģina sameklēt datubāzē lietotājus ar ievadīto e-pastu.
		      Ja tāds (/-i) pastāv, tad parāda 10. paziņojumu ar attiecīgo aizņemto lauku.
		\item Iepriekš izmainītos laukus pievieno izmainīto lauku sarakstam.
		\item Ja lietotājs ir administrators.
		      Pārbauda, vai datumam ir korekts formāts.
		      Ja nav, parāda 12. paziņojumu.
		      Pārbauda, vai datums ir pagātnē vai tagad.
		      Ja datums ir nākotnē, parāda 13. paziņojumu.
		      Sagatavotiem datiem pievieno administratoriem specifiskās.
		\item Ja lietotājs ir administrators, pārbauda vai stāvokļa kods atbilst definētiem stāvokļa kods.
		      Ja neatbilst, parāda 14. paziņojumu.
		\item Lietotāja konta sagatavotie dati - lauki, kas ir rediģēto lauku sarakstā, tiek ierakstīti datubāzē.
		      Ja ierakstīšana ir veiksmīga, pārādīt 15. paziņojumu.
		      Ja ierakstīšana nenotiek, parādīt 11. paziņojumu.
	\end{enumerate}
}
{
	Izvades datu mērķis ir noteikt rediģēšanas konta stāvokli.
	\begin{enumerate}
		\item Konta rediģēšanas apstiprinājuma stāvoklis - kods ar noteiktu stāvokli.
	\end{enumerate}
}
{
	\begin{enumerate}
		\item Darbība nav autorizēta!
		\item Lauks: [neaizpildīto lauku saraksts] netika aizpildīts (/-i)!
		\item Parole un paroles apstiprinājums nesakrīt!
		\item {}[Parametra nosaukums] nedrīkst saturēt: [izmantoto parametra neatļauto simbolu saraksts]!
		\item {}[Parametra nosaukums] nedrīkst pārsniegt [noteikto parametra maksimālo simbolu skaits]!
		\item Parolei ir jāsatur: [neizpildīto paroles prasību saraksts]!
		\item Minimālais vecums reģistrācijai: [noteikts minimālais vecums reģistrācijai].
		\item Attēla datne ir aizliegts paplašinājums! Atļautie datnes paplašinājumi: [atļauto datnes paplašinājumu saraksts].
		\item Attēla datne pārsniedz maksimāli atļauto lielumu! Maksimāli atļautais lielums: [maksimāli atļautais lielums].
		\item Lietotājs ar tādu [aizņemtā lauka nosaukums] jau eksistē!
		\item Notika sistēmas iekšējā kļūda! Mēģiniet vēlreiz vēlāk!
		\item Nekorekts datums! Datuma formāts: [nepieciešamais datuma formāts].
		\item Izveidošanas datums nedrīkst būt nākotnē!
		\item Lietotāja stāvokļa kods nav korekts!
		\item Konta rediģēšana ir veiksmīga!
	\end{enumerate}
}
